2011-02-03 6 views
11

Je voudrais faire un clone de mon arraylist par ce code:Java: en toute sécurité transposé un clone d'une ArrayList?

ArrayList<String> _names; 

ArrayList<String> names = (ArrayList<String>) _names.clone(); 

Pour autant que je sache, rien de spécial. Mon compilateur cependant, donne l'avertissement suivant:

sécurité Type: non contrôlé de l'objet moulé à ArrayList < Chaîne >

Quelqu'un sait-il une solution plus propre qui ne me donne pas un avertissement?

+0

casting à '' ne ArrayList donner cet avertissement. Avez-vous besoin d'être un 'ArrayList '? Pouvez-vous appeler 'toString' sur les éléments résultants à la place? – finnw

+0

pour les cas similaires, j'ai désactivé "désactivé" par défaut :) – bestsss

+0

@ finnw: Je l'ai besoin pour d'autres types que les chaînes aussi bien @ bestsss: j'aime mieux la solution de cadrian :) – SirLenz0rlot

Répondre

25
names = new ArrayList<String>(_names); 

Ou utilisez @SuppressWarnings("unchecked")

+0

Merci, la réponse était assez évidente :) cela fonctionne – SirLenz0rlot

Questions connexes