Salut à tous,
voici mon problème, j'ai un interface Operator simple :
Dans mon application, je fais appel à un moment à eval (sur un Double dans un Operator<Double>). Jusque-là pas de problème.
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(); }
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 :
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?
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;
Merci d'avance pour vos réponses.
Partager