我有一个通用类,我们将其称为Foo,以字符串形式键入T和T的值。
现在,我想使用此值创建Foo<T>
的实例。
我对非泛型类的处理方式:
Class<?> cls = Class.forName(fooStr);
但是如何为其提供模板参数?
String fooStr; //Foo
String typeStr; //Integer, String, e.t.c.
String valueStr;
我想创建那个实例
new Foo<T>(value)
Foo可以是{ChildNode,ParentNode}集合中的任何名称,因此可以在运行时解析。
答案 0 :(得分:0)
无法创建类型为Foo<T>
的实例。您只能创建类型Foo
的实例。通用参数<T>
将由编译器删除。它不会在运行时出现。这就是泛型的工作方式。泛型仅用于更好的类型检查并避免类型转换。