Erreur de cast sur les generics!
Salut à tous,
voici mon problème, j'ai un interface Operator simple :
Code:
1 2 3 4 5 6
|
public interface Operator<E>
{
public E apply(E ... args);
public String toString();
} |
Dans mon application, je fais appel à un moment à eval (sur un Double dans un Operator<Double>). Jusque-là pas de problème.
Mais le resultat retourné n'est pas de type E mais de type Object.
Alors facile, je fais E result = (E)monoperator.apply(2.0);
Mais là, gros problème :
Code:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.Double;
Grrrr. Je me doutais que ça allait planter avant de le faire, mais bon, je dois faire qqch come ça si je veux que mon appli reste abstraite. Comment puis-je faire pour éviter ce problème?
Merci d'avance pour vos réponses.