2016-05-29 4 views
-2

mein Programm wird viele Objekte haben, die Strings, booleans und andere enthalten werden, und ich möchte sie mit IDs aufrufen. Also ich möchte etwas wie:Java - make-Objekt mit Name Form String

int ID = 1; 
void add_object() 
{ 
String IDstring = Integer.toString(ID); 
myobject IDstring = new myobject(); 
ID++; 
} 

Wie soll ich das funktionieren lassen? Oder gibt es einen besseren Weg, das zu machen?

+1

Sie könnten eine entsprechende Datenstruktur wie 'Map ' – pzaenger

+0

verwenden Ich habe noch nie davon gehört, können Sie mir bitte einen Link darüber schicken? – Stepik

+0

Ich habe keine Ahnung, was Sie fragen. –

Antwort

1

Nehmen wir an, Sie haben eine Klasse namens Foo. Diese Klasse könnte Ihr Modell sein, wo Sie alle Ihre Strings, Boolesche Werte und so weiter:

public class Foo { 

    private final int id; 

    public Foo(int id) { 
     this.id = id; 
    } 

    @Override 
    public String toString() { 
     return this.getClass().getSimpleName() + "[id=" + id + "]"; 
    } 
} 

Zusätzlich haben Sie einen neuen Klassennamen Bar, wo Sie Ihre Karte haben:

public class Bar { 

    private final Map<Integer, Foo> map; 

    public Bar() { 
     map = new HashMap<>(); 

     map.put(0, new Foo(0)); 
     map.put(5, new Foo(5)); 
     map.put(6, new Foo(6)); 
    } 

    private void list() { 
     System.out.println(map.get(0).toString()); 
     System.out.println(map.get(5).toString()); 
     System.out.println(map.get(6).toString()); 
    } 

    public static void main(String[] args) { 
     Bar bar = new Bar(); 
     bar.list(); 
    } 
} 

Ich habe der Karte mit der entsprechenden ID drei Objekte hinzugefügt. Innerhalb list() drucke ich diese Objekte.

Ich hoffe, dass dies Ihnen hilft, mit zu beginnen.

Schauen Sie hier mehr über die Karten zu lesen: public interface Map

Edit: Sie können natürlich eine Zeichenfolge verwenden, um die ID zu speichern.