2016-07-11 13 views
-1

Wie kann ich Objekte in dieser bestimmten Kollektion Typ speichern? Muss ich eine Methode oder einen Konstruktor erstellen? Ich habe verschiedene Beispiele zum Erstellen von Array-Listen gesehen, aber nicht diese Art von Array-Liste. Was bedeutet die static, bedeutet es nur für die Klasse Inventory?Erstellen einer statischen Sammlung zum Speichern von Werten in Java

static List<Inventory> values = new ArrayList<Inventory>(); 

import java.util.List; 
import java.util.ArrayList; 
import java.util.Scanner; 

public class Inventory { 
    static List<Inventory> values = new ArrayList<Inventory>(); 

    public static void main(String[] args) { 
    } 
} 

Antwort

3

Die List<Inventory> bedeutet eine ListInventory Instanzen zu halten. Sie können Elemente zu Ihrem values hinzufügen und später wiederholen. Weil es static ist, gibt es nur einen pro Klasse. Da kein Zugriffsmodifizierer angegeben ist, ist er nur für Klassen im selben Paket verfügbar (das ist der Standardwert Paket privat). In Java 7+, diese

static List<Inventory> values = new ArrayList<Inventory>(); 

kann

static List<Inventory> values = new ArrayList<>(); 

Wie für das Hinzufügen von Methoden (und Felder) verkürzt werden, ja müssen Sie diejenigen etwas wirklich Sinnvolles zu tun. Für ein einfaches Beispiel haben Sie möglicherweise ein Wertfeld und weisen Sie ihm einen Wert im Konstruktor zu. Dann könnten Sie Ihre values füllen und schließlich sie iterieren etwas

int aValue; 
public Inventory(int value) { 
    this.aValue = value; 
} 
public static void main(String[] args) { 
    values.add(new Inventory(1)); 
    values.add(new Inventory(2)); 
    for (Inventory v : values) { // <-- a for-each loop 
     System.out.println(v.aValue); 
    } 
} 

Daher aValue anzuzeigen.

Hier verwendete ich eine for-each Schleife.

+0

also, wenn ich Werte zum Array hinzufügen wollte, wäre es values.add ("hi"); @EliottFrisch –

+0

@MikeShasaco Siehe bearbeiten. Der einzige Weg wäre 'values.add (" hi ");' ist, wenn 'values' eine' List 'ist (weil' "hi" 'ein' String' ist). –

+0

ok ich sehe danke, sehr hilfreich @elliottFrisch –