(Java)改变修改了哪个对象

时间:2017-11-27 03:05:03

标签: java

对不起,如果这是一个非常明显的问题,我想我根本不知道用于找到答案的正确词汇。我的问题是:假设我实例化了几个对象,并且每个对象都有一个唯一的整数作为其ID,我希望用户能够通过输入对象的ID来选择要修改的对象。我应该怎么做呢?

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等于传递给构造函数的参数。现在在下一行代码中说我想要更改对象1或对象2,具体取决于用户是输入9897还是2817.如果不使用大量的if语句,我该怎么做呢?

1 个答案:

答案 0 :(得分: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);