java: ERROR: "cannot find symbol – class Constructor" when making instance from String, with parameters
java: ERROR: "cannot find symbol – class Constructor" when making instance from String, with parameters
我在这里搜索了所有涉及 'reflection' 的问题,以使用 class 名称的字符串实例化参数化对象,但我无法让它工作,因为 Java 没有'将构造函数识别为 class。
Class myClass = Class.forName("MyClass");
Class[] types = {Double.TYPE, String.TYPE};
Constructor constructor = myClass.getConstructor(types);
Object[] parameters = {1.0, "hello"};
Object instanceOfMyClass = constructor.newInstance(parameters);
这是我尝试使用的代码,我也尝试过以不同的方式编写参数,但这些与问题无关(请回复 Constructor class 问题)。我该怎么做?
在myClass.getConstructor(types)
中,需要传递class对象。所以你需要声明String.class
,当你写Double.TYPE
时,这是用于原始数据类型。请参考此代码
Class myClass = Class.forName("com.citi.MyClass");
Constructor cons= myClass.getConstructor(Double.TYPE, String.class);
Object[] param = {1.0, "Hello"};
Object instanceOfMyClass = cons.newInstance(1.0, "Hello");
我在这里搜索了所有涉及 'reflection' 的问题,以使用 class 名称的字符串实例化参数化对象,但我无法让它工作,因为 Java 没有'将构造函数识别为 class。
Class myClass = Class.forName("MyClass");
Class[] types = {Double.TYPE, String.TYPE};
Constructor constructor = myClass.getConstructor(types);
Object[] parameters = {1.0, "hello"};
Object instanceOfMyClass = constructor.newInstance(parameters);
这是我尝试使用的代码,我也尝试过以不同的方式编写参数,但这些与问题无关(请回复 Constructor class 问题)。我该怎么做?
在myClass.getConstructor(types)
中,需要传递class对象。所以你需要声明String.class
,当你写Double.TYPE
时,这是用于原始数据类型。请参考此代码
Class myClass = Class.forName("com.citi.MyClass");
Constructor cons= myClass.getConstructor(Double.TYPE, String.class);
Object[] param = {1.0, "Hello"};
Object instanceOfMyClass = cons.newInstance(1.0, "Hello");