2016-05-29 4 views
-2

В моей программе будет много объектов, содержащих строки, булевы и т. Д., И я хочу называть их идентификаторами. Поэтому я хочу что-то вроде:Java - создать объект с формой имени String

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

Как это сделать? Или есть лучший способ сделать это?

+1

Вы можете использовать соответствующую структуру данных, такую ​​как «Карта » – pzaenger

+0

Я никогда не слышал об этом, можете ли вы отправить мне ссылку? – Stepik

+0

Я понятия не имею, о чем вы спрашиваете. –

ответ

1

Предположим, у вас есть класс с именем Foo. Этот класс может быть модель, где вы храните все ваши строки, булевы и так далее:

public class Foo { 

    private final int id; 

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

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

В дополнении у вас есть другое имя класса Bar, где у вас есть карта:

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(); 
    } 
} 

У меня есть добавлено три объекта к карте с соответствующими признаками. В пределах list() Я печатаю эти объекты.

Надеюсь, это поможет вам начать.

Посмотрите здесь, чтобы прочитать больше о картах: public interface Map

Edit: Вы, конечно, можете использовать строку, чтобы сохранить идентификатор.

Смежные вопросы