2017-04-01 1 views
0

Gibt es in diesem Code Unterschiede zwischen diesen beiden Möglichkeiten, ein Element in eine Liste in Java einzufügen? Wenn ja, was sind sie? Und wie soll ich ein Element in eine Liste einfügen?Wie füge ich ein Objekt in eine Liste in Java ein?

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

myList.add(new MyClass()); 

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

Ich bin ein Anfänger in Java. Es tut mir wirklich leid, wenn Sie diese Frage offensichtlich oder unlogisch finden.

Antwort

1

Nein, es gibt keinen Unterschied. Sie sollten tun, was Sie am besten lesen. Der zweite ist notwendig, wenn Sie etwas mit dem Objekt tun müssen, um es zusätzlich zur Liste hinzuzufügen.

Beachten Sie, dass Java Groß-und Kleinschreibung unterscheidet, und dass Klassen in der Regel mit einem Großbuchstaben beginnen.

1

Es gibt keinen Unterschied zu der Liste.

Der einzige Unterschied ist, dass der folgende Code in der zweiten Version einen Verweis auf das hinzugefügte Objekt hat, damit Sie etwas damit machen können (zB übergeben Sie es an einen anderen Code oder Aufrufmethoden für das Objekt usw.).

0

Der Unterschied, den ich finde, bezieht sich auf Garbage Collection. Wenn Sie beabsichtigen, das Objekt keiner anderen Variablen zuzuweisen, verwenden Sie . Wenn Sie das Objekt aus der Liste entfernen, wird es für gc freigegeben. Im zweiten Fall ist das Objekt nicht für GC geeignet, solange entweder foo den Verweis auf das Objekt behält oder es in der Liste verfügbar ist.

Verwandte Themen