我有以下问题:
我有一个类对象(MyClass.class),并且从该类对象我需要实例化一个对象。这是o MyClass.class.getDeclaredConstructor().newInstance()
的简单部分(该类只有一个不带参数的构造函数)。
棘手的部分(或者我认为)是使用我创建的类对象将结果对象强制转换为适当的类型(MyClass)。
请注意,我无法编写以下代码(MyClass)MyClass.class.getDeclaredConstructor().newInstance()
如果有人可以帮助我,我将非常感激。
答案 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;
}
...但是这就是你使用反射投射一个类的方法,我怀疑这个问题是关于某些测试或任务的