2 votes

Comment construire une implémentation de liste spécifique sans savoir de laquelle il s'agit ?

Je veux créer une liste du même type que celle passée en paramètre, donc si givenList est une Arraylist alors Copy doit être égal à un, si c'est une linkedList alors Copy doit être égal à un, etc.

Existe-t-il un moyen de faire cela sans vérifier manuellement le type de la liste en utilisant instanceof ?

public static <E> void sorter (List<E> givenList) {
    List<E> copy = new ?????

0voto

rzwitserloot Points 434

Il n'y en a pas. Vous pouvez essayer quelque chose comme givenList.getClass().getConstructor().newInstance() . Il n'est pas du tout garanti que cela fonctionne. Plus généralement, si vous voulez une copie, givenList.clone() est une bien meilleure idée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X