在Java中是否有C#Type.GetType()的等效语法

时间:2013-02-18 12:03:10

标签: java

请告诉我在java中是否有与C#Type.GetType()等效的语法。

java中的Activator.CreateInstance()的等效语法。

感谢。

2 个答案:

答案 0 :(得分:2)

Type.GetType()等效

使用Object.getClass()instanceof

Activator.CreateInstance()等效

如果一个类有一个无参数的构造函数,那么通常使用Class.forNameClass.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);
相关问题