请告诉我在java中是否有与C#Type.GetType()
等效的语法。
java中的Activator.CreateInstance()
的等效语法。
感谢。
答案 0 :(得分:2)
Type.GetType()等效
使用Object.getClass()或instanceof
Activator.CreateInstance()等效
如果一个类有一个无参数的构造函数,那么通常使用Class.forName和Class.newInstance来完成从包的限定类名创建一个对象
Class clazz = Class.forName("test.Demo");
Demo demo = (Demo) clazz.newInstance();
如果class dosent没有参数构造函数,则必须使用下面的反射
Class<?> clazz = Class.forName(className);
Constructor<?> ctor = clazz.getConstructor(String.class);
Object object = ctor.newInstance(new Object[] { ctorArgument });
答案 1 :(得分:0)
您可能会尝试使用Java反射
Class c - object.getClass();
object.getClass().getConstructors()[0].newInstance(initargs);