如何通过使用类对象实例化一个类并仅使用实例化它的类来转换结果?

时间:2015-01-20 21:38:20

标签: java reflection

我有以下问题: 我有一个类对象(MyClass.class),并且从该类对象我需要实例化一个对象。这是o MyClass.class.getDeclaredConstructor().newInstance()的简单部分(该类只有一个不带参数的构造函数)。

棘手的部分(或者我认为)是使用我创建的类对象将结果对象强制转换为适当的类型(MyClass)。 请注意,我无法编写以下代码(MyClass)MyClass.class.getDeclaredConstructor().newInstance()

如果有人可以帮助我,我将非常感激。

1 个答案:

答案 0 :(得分:1)

写:

MyClass.class.cast(myInstance);

See also the relevant Javadoc。除了空检查和类型检查之外,这不是很有用:

public T cast(Object obj) {
    if (obj != null && !isInstance(obj))
        throw new ClassCastException(cannotCastMsg(obj));
    return (T) obj;
}

...但是这就是你使用反射投射一个类的方法,我怀疑这个问题是关于某些测试或任务的