在java中动态创建一个对象

时间:2015-05-02 22:31:04

标签: java

  1. 假设我有这门课程:

    public class Person {
       private String name;
       private int age;
       //setters and getters
       ...
    }   
    
  2. 以下代码不正确,但我想要类似的东西。

    String className="Person";
    String att1 = "name";
    String att2 = "age;
    object o = createClassByName(className);
    setValueForAttribute(o,att1,"jack");
    setValueForAttribute(o,att2,21);"
    

1 个答案:

答案 0 :(得分:0)

你熟悉哈希吗? 我认为你可以使用HashMap,这是一个内置于Java库中的常见Hash实现:

HashMap<String,Object> person1 = new HashMap<String,Object>();
person1.put("className", "Person");
person1.put("name", "Jack");
person1.put("age", 21);

每当您想要更改值时,请执行:person1.put("name", "Jill")

为了获得价值,它是person1.get("name")

如果你想考虑课程,你必须得到className并在你的代码中手动比较它,根据&#34;类&#34;做不同的事情。对象(实际上是一个HashMap,但是没关系)。

小提醒:以这种方式做事被认为是非常凌乱;)