我正从String
检索Database
变量并存储在变量中。
String name = "Peter" ---- >(retrieved from the database)
我已经有一个名为Peter
的班级。我需要使用检索到的变量name
初始化类。
假设,无论从数据库中检索到String
,我都在我的包中为它定义了一个类......
有没有办法为我从Object
检索的String
创建Database
?
答案 0 :(得分:5)
Class.forName(name).newInstance()
答案 1 :(得分:0)
使用Class.forName()
- java.lang.reflect
如果我们知道班级的名称&如果它有一个公共默认构造函数,我们可以用这种方式创建一个对象。
Class myClass = Class.forName("MyClass");
Class[] types = {Double.TYPE, this.getClass()};
Constructor constructor = myClass.getConstructor(types);
Object[] parameters = {new Double(0), this};
Object instanceOfMyClass = constructor.newInstance(parameters);