Generic array creation in java
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Create instance of generic type in Java?
Java how to: Generic Array creation
我正在尝试创建一个创建泛型类型的类。这是我的班级档案。
1 2 3 4 5 6 7 8 | public class TestClass<T> implements AbstractDataType<T>{ T[] contents; public TestClass(int length) { this.contents = (T[])new Object[length]; } } |
但内容只是继承了
至于初始化
但是当你说"内容只是从对象类继承了方法",我假设你的意思是,当你在代码中使用一个T实例时,你只能访问像
下面是一个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | interface Foo { int getSomething(); void setSomethingElse(String somethingElse); } public class TestClass<T extends Foo> implements AbstractDataType<T> { T[] contents; public TestClass(int length) { this.contents = (T[])new Object[length]; } public void doSomethingInteresting(int index, String str) { T obj = contents[index]; System.out.println(obj.getSomething()); obj.setSomethingElse(str); } } |
所以现在您可以访问继承自
不能在Java中创建通用数组。正如Java语言规范中所说的,上面提到的规则指出:"上面的规则意味着数组创建表达式中的元素类型不能是参数化类型,而不是无界通配符。"
你认为
见
1 2 3 |
我相信在任何访问内容的方法中,您都需要将它们强制转换为