动态引用类(Java)

时间:2014-12-06 18:58:14

标签: java oop

我有一个HashMap,它使用类作为键和值,将类(键)链接到另一个类,该类将键类的实例作为其构造函数的唯一参数。

我的代码如下所示:

HashMap<Class<?>, Class<?>> links = //Instantiation
//Adding some things to the map
Object object = //The instance I'll use to build some other thing
Class<?> ValueClass = this.links.get(object.getClass());
    try {
        return new ValueClass(object);
    } catch (NullPointerException e) { //Not in the HashMap
        //Some exception handling
    }

我对Java和良好的编码习惯知之甚少,所以除了想要知道如何正确地做到这一点之外,我想知道这样做是否有任何重要的意义,如果有的话,&#39;这是一种更好的方式。

提前致谢!

1 个答案:

答案 0 :(得分:1)

这应该根据你的描述创建对象

Constructor<?> constr = ValueClass.getConstructor( object.getClass() );
Object newObj = constr.newInstance(object);

这可以引发各种异常 - 请参阅javadoc。