我对于克隆ArrayList(Vector替代品)的解决方案,或许有些天真,是:
ArrayList<Double> alBis = (ArrayList<Double>) alOriginal.clone();
考虑到数组包含不可变的Double,我不需要克隆它们,只需要克隆容器。
由于clone()返回一个Object,所以我进行了类型转换,但是-Xlint会抱怨这是一个未经检查的转换。
那现在怎么办?用supressWarnings忽略它吗?创建一个新的ArrayList并使用紧凑的for循环复制原始元素?是否有类似于Arrays.copyOf()的库方法?
我阅读了Unchecked cast warning,但被接受的方式难以置信复杂。