2017-11-27 4 views
-1

これは非常に明白な質問である場合は申し訳ありませんが、私は単に答えを見つけるために使用する適切な語彙を知らないと思います。私の質問です:私はいくつかのオブジェクトをインスタンス化すると、各オブジェクトはIDとして機能する一意の整数を持っていると私はオブジェクトのIDを入力して変更するオブジェクトを選択できるようにしたい。それについてどうすればいいですか?(Java)どのオブジェクトを変更するか

int ID; 

Scanner keyboard = new Scanner(System.in); 
Object obj1 = new Object(9897); 
Object obj2 = new Object(2817); 

System.out.println("Input the ID of the object you wish to modify:"); 
ID = keyboard.nextInt(); 

前のコードでインスタンス化されたオブジェクトのIDがコンストラクタに渡された引数と同じになるようにクラスを作成したとします。次のコード行では、ユーザーが9897または2817を入力したかどうかによって、オブジェクト1またはオブジェクト2のいずれかを変更したいと考えています。

答えて

2

短い答え:あなたはしません。あなたのアプローチを変えて、Map<Integer, Object>にあなたのインスタンスを入れ、IDでそれらを見ることができます。

Map<Integer, Object> map = new HashMap<>(); 
map.put(9897, new Object()); 
map.put(2817, new Object()); 

// ... 
int ID = keyboard.nextInt(); 
Object obj = map.get(ID); 
関連する問題