如何在Java中将对象正确插入List?

时间:2017-04-01 15:31:55

标签: java list insert

在这段代码中,这两种方法在Java中将元素插入列表有什么不同吗?如果是这样,他们是什么?在将元素插入列表时,我应该以什么方式使用?

List<MyClass>myList=new ArrayList<MyClass>();

myList.add(new MyClass());

MyClass foo=new MyClass();
myList.add(foo);

我是Java的初学者。如果你发现这个问题显而易见或毫无意义,我真的很抱歉。

3 个答案:

答案 0 :(得分:1)

不,没有区别。你应该做你觉得最具可读性的东西。除了将对象添加到列表中之外,当您需要对对象执行某些操作时,第二个是必需的。

请注意,Java区分大小写,并且这些类通常以大写字母开头。

答案 1 :(得分:1)

列表没有任何区别。

唯一的区别是,在第二个版本中,以下代码引用了添加的对象,因此您可以对其执行某些操作(例如,将其传递给其他代码或调用对象上的方法等)。

答案 2 :(得分:0)

我发现的差异与垃圾收集有关。如果您考虑不打算将对象分配给任何其他变量, 使用第一个,如果从列表中删除对象,它就有资格获得gc。在第二个对象中,只要foo保留对象的引用或列表中的可用对象,该对象就不符合gc的条件。