Salut à tous,

voici mon problème, j'ai un interface Operator simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.