繁体   English   中英

从ArrayList中删除对象后如何返回?

[英]How to return an object after removing it from an ArrayList?

我想这样做,但是我不确定分配的参考温度是否在删除后仍然有效。

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)返回已删除的元素(如果有),因此您也可以return getBoxes().remove(index)

List.remove()不会使删除的对象失效。

从任何Collection中删除任何元素都不会使其无效。

你很棒,参考将是有效的

让我们举个例子

一---------对象

乙---------对象

A和B都是Object的引用。

现在,说参考B无效

一---------对象

B - | - | - | - | - | - | -Object(无效)

参考文献A仍然完好无损。

谢谢阿比

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM