是的,我知道。问题的长标题......所以我有字符串中的类名。我正在以这种方式动态创建该类的对象:
String className = "com.package.MyClass";
Class c = Class.forName(className);
Object obj = c.newInstance();
如何将 obj 动态转换为 MyClass 对象?我不能这样写:
MyClass mobj = (MyClass)obj;
...因为 className 可以不同。
最佳答案
我认为它的反射非常简单
MyClass mobj = MyClass.class.cast(obj);
如果类名不同
Object newObj = Class.forName(classname).cast(obj);
关于java - 当类名已知时,将 Object 类的 java 对象动态转换为给定的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1893349/