gpt4 book ai didi

Java 不安全或未经检查的表达式 : cloning an arraylist

转载 作者:行者123 更新时间:2023-11-29 07:16:46 25 4
gpt4 key购买 nike

我在编译时遇到了未经检查的表达式错误,发现有问题的行是

ArrayList<Integer> items = (ArrayList<Integer>) this.items.clone();

我正在尝试执行我的对象的深拷贝,所以我正在以上述方式克隆对象和数组列表的属性。我该如何修复此警告?

  • 我可以使用 @SuppressWarnings("unchecked") 但这只是隐藏了问题(我不希望有)
  • 如果我通过遍历所有元素来手动克隆,我认为会更慢

正确的做法是什么?

最佳答案

如果您的元素是整数,执行“深层复制”确实不是问题,因为您没有理由需要复制整数对象。只需使用 new ArrayList<Integer>(this.items) .

但作为引用,clone() 和 ArrayList 复制构造函数都不会进行深复制。只是因为您的元素类型不需要深度复制,所以这满足了您的需求。

关于Java 不安全或未经检查的表达式 : cloning an arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8905063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com