cib*_*en1 3 java casting clone arraylist
克隆ArrayList(Vector替换)的我可能是天真的解决方案
ArrayList<Double> alBis = (ArrayList<Double>) alOriginal.clone();
Run Code Online (Sandbox Code Playgroud)
考虑到因为数组包含不可变的双打,我不需要克隆它们,而只需要克隆容器.
当clone()返回一个Object时,我把它放在那里,然后-Xlint抱怨它是一个未经检查的强制转换.
所以现在怎么办?用supressWarnings忽略它?创建一个新的ArrayList并使用compact来复制原始元素?任何类似于Arrays.copyOf()的库方法?
我阅读了未经检查的投射警告,但接受的方式是令人难以置信的复杂.
Sea*_*oyd 13
clone()有重大缺陷,请参阅此问题以供参考.不要用它!
相反,所有标准集合都有复制构造函数.使用它们:
List<Double> original = // some list
List<Double> copy = new ArrayList<Double>(original);
Run Code Online (Sandbox Code Playgroud)
参考:
| 归档时间: |
|
| 查看次数: |
4668 次 |
| 最近记录: |