java - 当类名已知时,将 Object 类的 java 对象动态转换为给定的类

标签 java class object type-conversion

是的,我知道。问题的长标题......所以我有字符串中的类名。我正在以这种方式动态创建该类的对象:

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/

相关文章:

object - 为什么要进行 obj.文件包含法线

java - "\n"分隔符问题

java - 如何重写 Set 的删除方法?

java - AsyncContext.complete()后继续处理

java - 是否有 Clojure/Java 类和协议(protocol)的简单引用?

javascript - 如何动态访问对象的属性?

java - 访问者模式的目的与示例

.net - 子类实例的基类句柄。有没有一种优雅的方法可以在运行时获取子类类型?

c++ - 结构作为基类 - C/C++ 互操作性

javascript - 如何自动从全局对象创建变量?