gpt4 book ai didi

java - 创建存储在列表中的类实例

转载 作者:行者123 更新时间:2023-12-02 02:05:20 26 4
gpt4 key购买 nike

首先我创建一个ArrayList。 (? 表示我不知道那里应该有什么,请继续阅读)

ArrayList<?> arrayList = new ArrayList<?>();

因此,这将存储抽象类Class的类名,例如它可能存储ExtendedClass1ClassExtended2

后来我迭代该 ArrayList 并使用存储在 arraylist 中的名称创建新对象

for (int i = 0; i < arrayList.size(); i++) {
new arrayList.get(i); // Takes the class name and makes new object out of it
}

我怎样才能真正做到这一点?

最佳答案

您需要存储 String 类名,然后使用反射来创建实例,假设您要使用的是反射:

List<String> arrayList = new ArrayList<>();
arrayList.add("fully.qualified.ExtendedClass1");
arrayList.add("fully.qualified.ClassExtended2");

然后,在你的循环中:

for(int i = 0; i < arrayList.size(); i++) {
Class<?> cls = Class.forName(arrayList.get(i)); //Get class for the name

Object instance = cls.newInstance();
...
}

关于java - 创建存储在列表中的类实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50906728/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com