0

Type.GetType()请让我知道java 中是否有 C# 的等效语法。

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

谢谢。

4

2 回答 2

2

Type.GetType() 等效

使用Object.getClass()instanceof

Activator.CreateInstance() 等效

如果一个类有一个无参数的构造函数,那么从它的包限定类名创建一个对象通常是使用Class.forNameClass.newInstance完成的,如下所示

 Class clazz = Class.forName("test.Demo");
 Demo demo = (Demo) clazz.newInstance();

如果类 dosent 没有参数构造函数,则必须使用反射,如下所示

Class<?> clazz = Class.forName(className);
Constructor<?> ctor = clazz.getConstructor(String.class);
Object object = ctor.newInstance(new Object[] { ctorArgument });
于 2013-02-18T12:16:36.060 回答
0

您可能会实现类似使用 Java 反射的功能

Class c - object.getClass();

object.getClass().getConstructors()[0].newInstance(initargs);
于 2013-02-18T12:07:23.207 回答