Bonjour,
je rencontre un petit probleme avec java
notament avec les fonctions static et les generics
voila ce que j'aimerais avoir
une classe qui permet par le biais de l'introspection de decouvrir toutes les classes implementant une type defini par T
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class Plugs<T> { public Plugs() { } public static <T> ArrayList<T> discover(String path) { System.out.println("Discover dans plus<T>"); return null; } }
si la définition de la classe ci dessus passe a la compilation, pour l'utilisation .... ca passe pas ....
me genere une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part ArrayList<IBase> list = Plugs<IBase>.discover("");
Multiple markers at this line
- IBase cannot be resolved to a variable
- The method discover(String) is undefined for the
type Main
- Syntax error on token ".", delete this token
- Plugs cannot be resolved to a variable
si je fais
ca passe mais je me demande alors comment il sait ce qu'est T ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part ArrayList<IBase> list0 = Plugs.discover("");
si vous avez une idée
pour info je viens du c# et j'aimerais faire une factory (donc plutot une classe static)
avec evidement seulement des membres static
merci
Partager