在Java中,可以通过以下方式定义泛型数组:
public class GenericArray{ private T[] array; public GenericArray(int size) { // 创建一个泛型数组需要通过反射来实现 array = (T[]) new Object[size]; } public T get(int index) { return array[index]; } public void set(int index, T value) { array[index] = value; } }
在上述示例中,GenericArray
是一个泛型类,使用了泛型类型参数 T
。在构造函数中,通过使用反射创建了一个泛型数组 array
。通过 get()
和 set()
方法可以获取和设置数组中的元素值。
注意:由于Java的类型擦除机制,无法直接创建泛型数组,因此需要通过反射来实现。在创建泛型数组时,需要将其强制转换成泛型类型 T[]
,这可能会导致编译器警告。