Java 使用HashMap和ArrayList存储变量名和值。如何使用创建新对象?

Java 使用HashMap和ArrayList存储变量名和值。如何使用创建新对象?,java,object,hashmap,Java,Object,Hashmap,我有一个HashMap,它存储对象变量的名称和对象需要使用的值 对象创建将是: Room [key] = new Room([value1]); 下面是HashMap: public static Map<String, List<String>> makeRoom(String[] room){ map = new HashMap<String, List<String>>(); int roomNumber = Int

我有一个HashMap,它存储对象变量的名称和对象需要使用的值

对象创建将是:

Room [key] = new Room([value1]);
下面是HashMap:

public static Map<String, List<String>> makeRoom(String[] room){
    map = new HashMap<String, List<String>>();
        int roomNumber = Integer.parseInt(room[1]);

        List<String> valSetOne = new ArrayList<String>();
        valSetOne.add(room[2]);
        valSetOne.add(room[3]);
        valSetOne.add(room[4]);
        valSetOne.add(room[5]);

        map.put("r"+roomNumber, valSetOne);

        return map;
    }
}

提前谢谢。

要回答您的问题,您可以这样做:

Constructor roomConstructor = Room.class.getConstructor(Integer.class);
Room r1 = roomConstructor.newInstance(Integer.parseInt(map.get("r1")));
Room r2 = roomConstructor.newInstance(Integer.parseInt(map.get("r2")));
Room r3 = roomConstructor.newInstance(Integer.parseInt(map.get("r3")));

class对象允许您获取一个构造函数,然后从中创建一个新实例,前提是您传入了正确的参数。

您实际上想做什么?您不能使用映射并将
String
键(如
r1
)与实例相关联吗?然后,您可以简单地根据键查找实例。代码生成需要一些特定的环境,可能会有一个更简单的解决方案来解决您的问题。看起来代码生成对吗?Java是一种编译时语言。有很多方法,但Java不适合这样做。听起来他想要一个键/值对,键是变量名,值是传递给对象构造函数的变量。我会制作一个dictionary/arraylist/hashmap,并添加@hardtacos。你到底想做什么?谢谢,我会试一试。如果成功的话,我会接受这个答案。
Constructor roomConstructor = Room.class.getConstructor(Integer.class);
Room r1 = roomConstructor.newInstance(Integer.parseInt(map.get("r1")));
Room r2 = roomConstructor.newInstance(Integer.parseInt(map.get("r2")));
Room r3 = roomConstructor.newInstance(Integer.parseInt(map.get("r3")));