2016-06-30 19 views
0

Was ist der gleiche Weg, um eine Liste von Objekten in Java zu erstellen, wie die C# -Weise unten (Beispiel aus dem Web)? Ich muss etwas in Java schreiben, aber es ist neu für mich. Ich kann nicht finden, wonach ich suche, wenn ich das Web entweder suche.Wie erstelle ich eine Liste von Objekten in Java?

/* Das folgende Code-Snippet erstellt die Author-Objekte und fügt sie zur Liste hinzu. */

AuthorList.Add(new Author("Mahesh Chand", 35, "A Prorammer's Guide to  ADO.NET", true, new DateTime(2003,7,10))); 

AuthorList.Add(new Author("Neel Beniwal", 18, "Graphics Development with C#", false, new DateTime(2010, 2, 22))); 

AuthorList.Add(new Author("Praveen Kumar", 28, "Mastering WCF", true, new DateTime(2012, 01, 01))); 

AuthorList.Add(new Author("Mahesh Chand", 35, "Graphics Programming with GDI+", true, new DateTime(2008, 01, 20))); 

AuthorList.Add(new Author("Raj Kumar", 30, "Building Creative Systems", false, new DateTime(2011, 6, 3))); 
+3

Sie sind in der Nähe, aber denken Sie daran, dass in Java Methodennamen mit Kleinbuchstaben anstelle von Großbuchstaben beginnen (und Ihre Variablen sollten auch!). Versuchen Sie '.add (..' anstelle von '.Add (' – lucasvw

+3

In Java 'List' ist eine Schnittstelle, so dass Sie nicht installieren können. Versuchen Sie' List AuthorList = neue ArrayList (); ' – DCruz22

Antwort

2

In Java, würden Sie nur eine generische Arraylist verwenden.

import java.util.*;  
...  
ArrayList<Author> AuthorList = new ArrayList<Author>(); 
AuthorList.add(new Author("Mahesh Chand", 35, "A Prorammer's Guide to  ADO.NET", true, java.time.LocalDateTime.of(2003,7,10))); 
... 

Beachten Sie, dass die Variable als ‚Liste‘ geben könnte:

List<Author> AuthorList = new ArrayList<Author>(); 

Aber die ursprüngliche Typ nicht an eine Schnittstelle, so dass die genaue Java Äquivalent sollte vielleicht auch nicht.

+0

Das war wahrscheinlich eine tolle Idee inklusive der 'import' Aussage, ich kann mir vorstellen wie das wohl auch verpasst worden wäre – Andrew

+0

@Bobby: Ich bin mir nicht sicher was du damit meinst bekommst eine Option –

+0

Wenn ich deinen Vorschlag versuche bin ich dran Fehler: mein Konstruktor kann nicht auf bestimmte Typen angewendet werden. "required: no arguments". Es muss ein Problem mit meiner Klasse in der Konfiguration geben. Ich habe private Variablen mit öffentlichen Gettern und Settern. – Bobby

2

Liste ist eine Schnittstelle. verwenden Arraylist wie folgt:

List<Author> AuthorList = new ArrayList<Author>(); 
1

Liste ist eine Schnittstelle in Java, so dass Sie nicht new ein List. Sie können ein ArrayList wie folgt verwenden:
List<Author> AuthorList = new ArrayList<Author>();

0

In Java ist List eine Schnittstelle. Daher können Sie es nicht instanziieren. Sie müssen die Implementierung finden, die Ihrem Bedarf entspricht. Im Allgemeinen ist ArrayList ein guter Ausgangspunkt. LinkedList ist auch sehr nützlich.

So können Sie Ihre Liste wie folgt erstellen:

List<Author> list = new ArrayList<>(); 

(Beachten Sie, dass der Variablenname mit einem Kleinbuchstaben beginnt: es ist eine Java-Konvention).

Dann können Sie einige Elemente hinzufügen. In Java müssen alle Methodennamen auch mit einem Kleinbuchstaben beginnen. In einer Liste können Sie die Methode add() verwenden.

list.add(new Author(...)); 

Hinweis: Wenn Sie eine Liste mit vordefinierten Werten erstellen möchten, können Sie diese Abkürzung Methode verwenden:

List<Author> authors = Arrays.asList(
    new Author(...), 
    new Author(...) 
); 

Aber die resultierende Liste ist unveränderlich. Der Versuch, ein Element hinzuzufügen, löst zur Laufzeit eine Ausnahme aus.

Verwandte Themen