我正在考虑这样做,但我不确定分配的参考温度在删除后是否仍然有效。
public Box removeBox(int index)
{
Box temp=getBoxes().get(index);//ArrayList.get
getBoxes().remove(index);
return temp;
}
我正在考虑这样做,但我不确定分配的参考温度在删除后是否仍然有效。
public Box removeBox(int index)
{
Box temp=getBoxes().get(index);//ArrayList.get
getBoxes().remove(index);
return temp;
}
这很好,虽然return getBoxes().remove(index)
会在一行中做同样的事情。
是的,这是一种有效的方法。Java 使用值,而不是引用。
是的,引用仍然有效,因为已经存在对它的引用(temp
您刚刚定义的变量)。JVM 的垃圾收集器将在运行时处理所有取消引用的对象。有关更多信息,请参阅此链接:Java 中垃圾收集的工作原理,特别是当对象变得符合垃圾收集条件时。
ArrayList#remove
返回删除的元素,如果有的话,所以你也可以这样做return getBoxes().remove(index)
。
List.remove()
不会使删除的对象无效。
从任何 Collection 中删除任何元素不会使其无效。
你会很棒,参考将是有效的
举个例子
A--------对象
B---------对象
A 和 B 都是 Object 的引用。
现在,假设参考 B 无效
A--------对象
B--|-|-|-|--|-|-对象(无效)
参考 A 仍然保持不变。
谢谢阿比