Salut,
soit le code suivant:
ce code compile normalement et aucune erreur n'est signalée. Mais quand je supprime le generic qui se trouve après le modificateur static, une erreur de compilation est signalée:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 static <T> void fromArrayToCollection(T[] a, Collection<T> c) { for (T o : a) { c.add(o); // Correct } }
voici quelques questions que je me posent:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 error: cannot find symbol static void fromArrayToCollection(T[] a, Collection<T> c) { symbol: class T location: class Main error: cannot find symbol for (T o : a) { symbol: class T location: class Main 3 errors
- quand je déclare une méthode generic, est ce que le generic après le modificateur de la méthode est obligatoire. si c'est le cas pourquoi?
- pour quoi que le compilateur ne peut pas déduire le generic depuis la signature de la méthode.
Partager