如何使用ArrayList <class>中的成员创建实例

时间:2016-07-16 21:47:17

标签: java

我创建了一个ArrayList来存储Classes。然后我想使用ArrayList中的成员来创建一个实例。我该如何实例化?

QTableWidgetItem

2 个答案:

答案 0 :(得分:0)

如果你在所有类上都没有args构造函数,你可以使用Class.newInstance(),例如

mDone

(我还没有打开IDE,因此无法验证确切的语法)。

如果你有构造函数的参数,那么它有点复杂。您可以在此处阅读完整的详细信息:https://docs.oracle.com/javase/tutorial/reflect/member/ctorInstance.html

答案 1 :(得分:0)

您可以存储对构造函数的引用,而不是在列表中存储类:

List<Supplier<Object>> hahalist = new ArrayList<>();

hahalist.add(MyClass::new);
hahalist.add(Machine::new);
hahalist.add(MyMachine::new);

Object instance = hahalist.get(1).get(); // Calling constructor

由于MyClassMachine的最近共同祖先ObjectSupplier我在这里使用的返回类型。