Bonjour,
je suis en train de regarder comment fonctionne la généricité.
J'ai un souci car j'ai une erreur de compilation.
java.lang.Error: Unresolved compilation problem: The method setContent(T) in the type Panier<T> is not applicable for the arguments (Orange)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| package org.cnam.fruit;
public class Panier<T> {
protected T content = null;
public void setContent(T o){
content = o;
}
public T getContent(){
return content;
}
public boolean isEmpty(){
return content == null;
}
} |
1 2 3 4 5 6 7 8
| public class TestFruit<T> extends TestCase {
public void test1(){
Panier<T> panier = new Panier<T>();
Orange orange = new Orange();
panier.setContent(orange); // ici ca coince !!! faut-il caster ??
}
} |
Si je fais un cast, ca fonctionne mais je croyais que la généricité c'était pour réduire les casts (entre autre)?
Partager