Bonjour à tous,
voilà, ma question est très simple. Pourquoi ne puis-je pas effectuer un cast
alors que le cast suivant fonctionne ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ArrayList<ArrayList<Truc>> ar = ...; Collection<Collection<Truc>> col = (Collection<Collection<Truc>>)ar; //ne fonctionne pas
Plus particulièrement, mon problème est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ArrayList<Truc> ar = ...; Collection<Truc> col = (Collection<Truc>)ar; //fonctionne
J'ai une méthode dans un interface ayant pour type de retour Collection<Collection<Truc>>.
Dans les classes l'implémentant, il est nécessaire de la surcharger.
Ces classes travaillent de manière interne avec des ArrayList<ArrayList<Truc>>
Je ne peux pas faire de cast pour le retour, et la jvm ne semble pas "comprendre" que c'est bon d'un point de vue de types.
Pourquoi ? Comment faire pour éviter ça ?
Merci d'avance pour vos réponses.
Partager