Je suis tombé sur une portion de code qui ne compile paset je ne me l'explique pas, si vous avez une explication, je suis preneur
Voici la chose avec, en commentaire, l'erreur donnee par Eclipse :
La question subsidiaire : pourquoi les signatures des méthodes method2A et method2B ne sont-elles pas équivalentes ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public class TemplateQuizz { public class ClassA {}; public <T> T creat(Class<? super T> typeDemande) { return null; } public ClassA method2A(Class<? extends ClassA> arg) { // The method creat(Class<? super T>) in the type TemplateQuizz is not // applicable for the arguments (Class<capture#1-of ? extends TemplateQuizz.ClassA>) ClassA objet = creat(arg); // compile error --ÎÎ return objet; } public <E extends ClassA> ClassA method2B(Class<E> arg) { ClassA objet = creat(arg); return objet; }![]()
Partager