我想制作一些对象,然后将它们添加到HastMap中。我不想手工命名所有这些对象,所以我会在for循环中进行。有什么方法可以解决这个问题吗?
答案 0 :(得分:0)
您正在寻找的是一个“变量变量”。 Java不支持这些,但有些语言like PHP。您可以使用生成的键创建对象的HashMap,但是,如下所示:
Map<String, Object> map = new HashMap<String, Object>;
// makes a HashMap of strings to objects;
// if you want to use something else for the keys,
// you can change the first type name between the <>
map.put("key", object);
//adds an object to the HashMap for the key "key"
然后从地图上取回对象,如下所示:
map.get("key");
//will return object
如果你想在for循环中这样做,你可以这样做:
Map<String, Object> map = new HashMap<String, Object>;
String[] keys = {"foo", "bar", "food", "bard", "fooley", "barley"};
for(int i = 0; i < keys.length; i++) {
map.put(keys[i], myObject);
}
This answer是一种随机生成这些字符串的方法。