我正在考虑这样做,但我不确定分配的参考温度是否在删除后仍然有效。
public Box removeBox(int index)
{
Box temp=getBoxes().get(index);//ArrayList.get
getBoxes().remove(index);
return temp;
}
答案 0 :(得分:9)
没关系,虽然return getBoxes().remove(index)
会在一行中做同样的事情。
答案 1 :(得分:0)
是的,这是一种有效的方式。 Java使用值而不是引用。
答案 2 :(得分:0)
是的,引用仍然有效,因为已经存在对它的引用(您刚刚定义的temp
变量)。 JVM的垃圾收集器在运行时将处理所有解除引用的对象。有关详细信息,请参阅此链接:How Garbage Collection works in Java,特别是当对象符合垃圾收集条件时。
ArrayList#remove
会返回已删除的元素(如果有),因此您也可以执行return getBoxes().remove(index)
。
答案 3 :(得分:0)
List.remove()
不会使删除的对象无效。
从任何Collection中删除任何元素都不会使其失效。
答案 4 :(得分:0)
你很棒,参考将是有效的
让我们举个例子
一个---------对象
乙---------对象
A和B都是对象的引用。
现在,说参考B无效
一个---------对象
B-- | - | - | - | - | - | -Object(无效)
参考文献A仍保持不变。
由于 ABHI