Bonjour, je suis on ne peut plus nouveau sur le JDK 5.0 et j'aurai une question de syntaxe sur les generics. Et en particulier sur les generics et l'heritage.
avec le JDK 1.4.2 j'avai cette méthode :
où mon 2eme paramètre était une classe implementant mon interface ISqlBean
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public Vector getBeanList(SqlRequest request, Class sqlBeanClassName) { ... }
et mon vector de retour un vector contenant des intances de classes implementant ISqlBean.
En utilisant les generics, le code est devenu celui-ci :
Ce qui me surprend, est l'utilisation de extends alors que ISqlBean est une interface.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public Vector<ISqlBean> getBeanList(SqlRequest request, Class<? extends ISqlBean> sqlBeanClassName) { ... }
A priori, dans le cas des generics, le mot clé extends désigne juste une notion d'heritage et est indépendant du fait que mon type soit une classe ou une interface. Est ce exacte, ou bien est ce que je fais fausse route ?
Partager