Java:如何从字符串创建一个类的列表

4

我希望创建一个与类名相关的列表,该列表由字符串输入而成。例如,

String nameOfClass = "com.my.list.class";
List list = new ArrayList<nameOfclass>();

我只知道在运行时以文本格式插入到列表中的类的类型。这是否可能?

2
你为什么需要这个...? - NoNaMe
你需要通过反射 Class.forName() 创建 nameOfClass 的实例,然后为该类创建一个列表。 - prasanth
1
在运行时,它是一个Object列表。@prasanth - Luiggi Mendoza
@LCYSoft - 我认为你需要在运行时使用类名并且想要生成对象。我说的对吗? - Fathah Rehman P
为什么不在类中设置一个名为“name”的变量并将其设置? - Chris Chambers
没错。我只知道运行时类的类型,以文本格式表示。 - codereviewanskquestions
1个回答

9

不。

泛型注解只在编译时发生,运行时会被擦除。当程序执行时,ArrayList 不知道其泛型类型。

因此,类型注解仅对编译器有用。如果您在编译时(程序设计时间)不知道类型,则无法使用它们。


如果您提供更多关于为什么需要这个的上下文,我们可能会想出一个替代方案。 - Thilo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接