2013-04-23 50 views
4

我想创建一个从字符串类型到类名的列表。 例如,Java:如何从字符串创建一个类的列表

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

我只知道类的类型被插入在文本格式运行列表。

这可能吗?只有在编译时有发生

+2

为什么你需要这个...? – NoNaMe 2013-04-23 04:36:14

+0

您必须通过反射Class.forName()创建nameOfClass的实例,然后为该类创建一个列表。 – prasanth 2013-04-23 04:36:43

+1

@prasanth在运行时它是''List''的'Object's。 – 2013-04-23 04:37:05

回答

9

泛型类型的注释,它们从运行时间删除。当程序执行时,ArrayList不知道它的泛型类型。

因此,类型注释仅对编译器有用。如果你在编译时(程序设计时)不知道类型,那么你就不能使用它们。

+0

如果您为了解这个问题需要更多的上下文,我们可能会为此提供一个替代方案。 – Thilo 2013-04-23 04:39:34

相关问题