1)有什么区别
for (MyObject myObject : sessionBean.firstList()) {
secondList.add(new MyObject(myObject.getSeverity(), myObject.getSummary(), myObject.getDetail()));
}
和
for (MyObject myObject : sessionBean.firstList()) {
secondList.add(facesMessage);
}
考虑到我稍后想要清除 sessionBean.firstList 但想要保留 secondaryList 中的值。
2)在 java 8 中是否有更易读的方法?
最佳答案
您可以以可读的方式在单个语句中完成此操作:
secondList.addAll(sessionBean.firstList())
当您使用new时,您将分配额外的内存,否则您将映射现有对象的引用。即使您想稍后清除 sessionBean.firstList,如果您在另一个集合中拥有该对象的有效引用,它也不会被垃圾收集器收集。所以我看不到任何有效的场景来强制使用 new 运算符。
关于java - 将列表复制到另一个列表(带或不带 'new')之间的区别 - JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48979428/