【问题标题】:Java: create an object based on content of a string [duplicate]Java:根据字符串的内容创建对象[重复]
【发布时间】:2012-09-18 22:20:11
【问题描述】:

可能重复:
Creating an instance using the class name and calling constructor

如何根据传递给方法的字符串内容创建对象? 例如

createObj(String nameclass){
 **class passed** obj;
}

【问题讨论】:

  • 几乎是重复的,但另一篇文章中的答案对于无参数构造函数的情况来说是不必要的复杂,其中只需要clazz.newInstance()

标签: java methods


【解决方案1】:

您可以使用Class.newInstance() 来构造该类的实例。 但是,您需要使用Class.forName(...) 获取Class<> 对象

<T> T createObj(String nameclass) throws ClassNotFoundException,
        InstantiationException, IllegalAccessException {

    Class<T> clazz = (Class<T>) Class.forName(nameclass);

    // assumes the target class has a no-args Constructor
    return clazz.newInstance();
}   

【讨论】:

    猜你喜欢
    • 2011-02-26
    • 2012-12-20
    • 2014-12-23
    • 2019-07-13
    • 2011-03-07
    • 2014-11-22
    • 1970-01-01
    • 2021-07-20
    • 1970-01-01
    相关资源
    最近更新 更多