【发布时间】:2013-12-07 11:37:30
【问题描述】:
public void addProductList(ArrayList<ViewOrderProduct> globalOrderProductList) {
this.productOrderList = (ArrayList<ViewOrderProduct>)globalOrderProductList.clone();
}
这给了我警告:
类型安全:从 Object 到 ArrayList 的未经检查的强制转换
我知道我可以简单地添加@SuppressWarnings("unchecked")来解决问题。
但我想了解问题所在。如果我添加了 suppressWarnings,我可以确定一切顺利?此警告是否有其他解决方案?
【问题讨论】:
-
这只是对您的警告,因为他无法在运行时验证您的克隆列表中只有
ViewOrderProduct对象。 -
你真的不想使用
clone方法... -
@ThomasJungblut 不,
clone()返回一个Object,因此警告是正确的,与类型擦除等无关。 -
@Neet 你最好重新阅读
Unchecked cast的定义;) -
与
clone方法和克隆/复制相关:stackoverflow.com/q/2326758/1065197、stackoverflow.com/q/2156120/1065197。现在,您的问题与警告有关:stackoverflow.com/q/9499908/1065197
标签: java object arraylist clone suppress-warnings