Re: [GENERIC] problème que je n'arrive pa s à résoudre . P... de Generic :)
Régis <[email protected]> Mon, 24 Jan 2011 14:40:33 +0100
| Newsgroups | gmane.comp.java.french.general |
|---|---|
| Message-ID | <[email protected]> |
Oui la fonction aurait dû être appelée: removeAt(int index) Maintenant en connaissant les règles on sait quelle fonction va être appelée, mais c'est vrai qu'avec Integer et l'auto-boxing ça devient obscur... C'est ints.remove( (int) 1 ) qui est choisi parce que l'auto-boxing n'est appliqué que s'il y a pas de signature compatible. On Mon, 24 Jan 2011 14:34:57 +0100, Dominique Gallot <[email protected]> wrote: > Surtout pour une List :) > > List ints = NEW ArrayList(); > ints.add( 2 ); > ints.add( 1 ); > ints.remove( 1 ); > > ints = { 1 } ou { 2 } ? > > Dominique > > 2011/1/24 Rémi Forax > > On 01/24/2011 02:16 PM, Régis wrote: > Je ne sais pas ce qui te chagrine, mais tout est correct. > > Autre chose, je n'ai jamais compris pq les prototypes des functions > du collection framework, permettait ca : > > List strings = new ArrayList(); > > Compatible parce que ArrayList est un sous type de List > > strings.add( "my string" ); > > R.A.S. > > strings.remove( 1 ); > > List fournit remove(int index) et remove(T object). > > qui est un cas typique de mauvaise utilisation de la surcharge. > > Qui sait pourquoi ? > > Dominique > > Rémi > > > > Links: > ------ > [1] mailto:[email protected]