:: Enseignements :: Master :: M1 :: 2007-2008 :: Java Avancé ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Quelques notes pour le TD5 |
Les types paramétrés
-
Le sous-typage classique ne marche
que
sur les types paramétrés ayant le même type argument.
-
Exemple: il y a sous-typage entre
List<T>
et
ArrayList<T>
-
Il n'y a donc pas de sous-typage entre des types
paramétrés ayant des types arguments sous-types
-
Exemple: il y n'a pas de sous-typage entre
List<Object>
et
List<String>
Wildcards
-
Un wildcard est une écriture spécifique qui permet de
faire du sous-typage sur les types paramétrés
-
Exemple:
List<?>
est une liste de type fixé mais inconnu (?) qui hérite
de la classe
Object
-
Il existe en fait deux type de
wildcard
:
<? extends T>
et
<? super T>
où ? est un sous-type (resp. super-type) du type
T
La classe Collections
-
La classe
Collections
contient trois champs statiques et constants, pour
représenter une collection vide
immutable
-
List l = Collections.EMPTY_LIST;
-
Set s = Collections.EMPTY_SET;
-
Map m = Collections.EMPTY_MAP;
-
Utiliser ces champs permet de ne pas avoir à faire appel
au constructeur de liste pour créer une liste vide.
-
Les itérateurs permettent d'avoir un accès aux éléments
d'une liste en temps constant
© Université de Marne-la-Vallée