可以声明带泛型的数组引用,但是不能直接创建带泛型的数组对象,可以通过java.lang.reflect.Array的newInstance(Class
import java.lang.reflect.Array; public class Fruit{ private T[] array; public Fruit(Class clz, int length) { array = (T[]) Array.newInstance(clz, length); } public void put(int index, T item) { array[index] = item; } public T get(int index) { return array[index]; } public T[] getArray() { return array; } }
import java.lang.reflect.Method;
import java.util.Arrays;
public class Demo {
public static void main(String[] args) {
Fruit fruit = new Fruit<>(String.class, 3);
fruit.put(0, "苹果");
fruit.put(1, "西瓜");
fruit.put(2, "香蕉");
System.out.println(Arrays.toString(fruit.getArray()));
String s = fruit.get(2);
System.out.println(s);
}
}



