Java:如何安全地将ArrayList的Clone强制转换类型?

15

我想通过以下代码创建我的数组列表的克隆:

ArrayList<String> _names;

ArrayList<String> names = (ArrayList<String>) _names.clone();
据我所知,没有特别的方法。然而,我的编译器会发出以下警告:
“类型安全性:从Object到ArrayList<String>的未经检查的转换。”
有人知道一种更清晰的解决方案,不会产生警告吗?

转换为ArrayList <?>不会出现此警告。你需要它是一个ArrayList <String>吗?或者你可以在结果元素上调用 toString 吗? - finnw
对于类似情况,我默认禁用了"unchecked" :) - bestsss
@finnw:我需要它适用于除字符串以外的其他类型。 @bestsss:我更喜欢cadrian的解决方案 :) - Len
1个回答

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

或者使用 @SuppressWarnings("unchecked")


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接