J'ai une classe générique avec sous-classe.générique, générique, setter et getter dans Java
public class GenericClass<C>
{
private C value;
public C getValue() { return value; }
public void setValue(C value) { this.value = value; }
}
Dans mon code, j'utiliser les sous-classes sans savoir ce que les sous-classes mais je sais que ces deux sous-classes sont même type:
GenericClass<?> obj1 = ... // has a value here
GenericClass<?> obj2 = ... // has a value here
// I know that obj1 is the same type of obj2 but I don't know this type.
obj1.setValue(obj2.getValue());
La dernière ligne génère une erreur de compilation qui est:
la méthode setValue (capture # 11 de?) dans le type GenericClass est pas applicable pour les arguments (capture # 12 de?)
Comment puis-je faire (quelque chose comme jetant un joker ...)?
« Si cela est impossible » Même s'il est impossible, ils peuvent encore faire la méthode ci-dessus une méthode d'assistance privée et appellent de partout où ils besoin et il fonctionnera en raison de la capture capture – newacct