可以声明带泛型的数组引用,但是不能直接创建带泛型的数组对象;
ArrayList[] listArr = new ArrayList[5];
可以声明 ArrayList
我们可以声明带泛型的数组引用,然后用不带泛型的普通类型去创建数组对象,如下所示 ->
ArrayList[] listArr = new ArrayList[5];
可以通过 java.lang.reflect.Array 的 newInstance(Class
, int) 创建 T [ ] 数组;
先来看一个错误案例 ->
public class Fruit {private T[] array = new T[3];
}
[ 很明显这是错误的,因为我们连 T 的类型都不知道,怎么可能去用 T 创建对象呢? ]
正确范例如下所示 ->
1 . 先声明一个数组引用 array,但是不创建对象;
2 . 然后通过构造方法创建数组对象;
public class Fruit {private T[] array;//构造方法public Fruit(Class clz , int length) {//传入参数时假设指定数组类型为String则clz就是String.class//通过Array.newInstancearray = (T[])Array.newInstance(clz , length);}}
上一篇:小升初奥数知识点总结,抓分的关键点分享,绝对值! 七年级奥数绝对值的化简难度大 初中奥数含绝对值的一次不等式
下一篇:中华上下5000年知识,最新或2023(历届)小升初备考综测高频考点全在这!拿走不谢! 2022人教版小升初复习题 小升初必考上下5000年文学常识