我想为使用泛型定义的类创建一个Java对象。具体地说,我想创建一个在运行时确定的类的对象列表。
我想要像这样的东西
Class clazz = Class.forName("MyClass");
List<clazz> myList = new ArrayList<>(); // This isn't allowed
定义对象数组将允许我存储MyClass类型对象的列表,但这将导致每次从列表中获取对象时都会强制转换对象,我希望避免这种情况。
有没有一种方法可以用java实现上面的代码。
发布于 2018-08-24 04:40:38
不,不能。Java中的泛型只是一种编译时类型检查机制。如果直到运行时才知道类型,那么很明显,它不能用于编译时类型检查。编译器不能在编译时确定允许您放入或取出List<clazz>
的类型,因此它并不比原始类型List
更有意义。
https://stackoverflow.com/questions/51794168
复制相似问题