在这段代码中,这两种方法在Java中将元素插入列表有什么不同吗?如果是这样,他们是什么?在将元素插入列表时,我应该以什么方式使用?
List<MyClass>myList=new ArrayList<MyClass>();
myList.add(new MyClass());
MyClass foo=new MyClass();
myList.add(foo);
我是Java的初学者。如果你发现这个问题显而易见或毫无意义,我真的很抱歉。
答案 0 :(得分:1)
不,没有区别。你应该做你觉得最具可读性的东西。除了将对象添加到列表中之外,当您需要对对象执行某些操作时,第二个是必需的。
请注意,Java区分大小写,并且这些类通常以大写字母开头。
答案 1 :(得分:1)
列表没有任何区别。
唯一的区别是,在第二个版本中,以下代码引用了添加的对象,因此您可以对其执行某些操作(例如,将其传递给其他代码或调用对象上的方法等)。
答案 2 :(得分:0)
我发现的差异与垃圾收集有关。如果您考虑不打算将对象分配给任何其他变量, 使用第一个,如果从列表中删除对象,它就有资格获得gc。在第二个对象中,只要foo保留对象的引用或列表中的可用对象,该对象就不符合gc的条件。