在這段代碼中,這兩種將元素插入到Java列表中的方式有什麼區別嗎?如果是這樣,他們是什麼?將元素插入列表時應該使用什麼方式?如何在Java中正確插入對象到列表中?
List<MyClass>myList=new ArrayList<MyClass>();
myList.add(new MyClass());
MyClass foo=new MyClass();
myList.add(foo);
我是Java的初學者。如果你發現這個問題明顯或無意義,我真的很抱歉。
在這段代碼中,這兩種將元素插入到Java列表中的方式有什麼區別嗎?如果是這樣,他們是什麼?將元素插入列表時應該使用什麼方式?如何在Java中正確插入對象到列表中?
List<MyClass>myList=new ArrayList<MyClass>();
myList.add(new MyClass());
MyClass foo=new MyClass();
myList.add(foo);
我是Java的初學者。如果你發現這個問題明顯或無意義,我真的很抱歉。
不,沒有區別。你應該做你發現最可讀的東西。第二種方法是必要的,除了將其添加到列表中之外,還需要對該對象執行某些操作。
請注意,Java區分大小寫,並且類通常以大寫字母開頭。
列表沒有任何區別。
唯一的區別是,在第二個版本中,下面的代碼對被添加的對象有一個引用,所以你可以對它做些什麼(例如傳遞給其他代碼或者調用對象上的方法等)。
我發現的區別與垃圾收集有關。如果您正在考慮您不打算將對象分配給任何其他變量,則使用第一個變量,如果您從列表中刪除該對象,則它變爲符合gc的條件。在第二種情況下,只要foo保持對該對象的引用或其在列表中可用,該對象就不符合gc的條件。