在Java中,可以通過以下方式定義泛型數組:
public class GenericArray<T> {
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>
是一個泛型類,使用了泛型類型參數 T
。在構造函數中,通過使用反射創建了一個泛型數組 array
。通過 get()
和 set()
方法可以獲取和設置數組中的元素值。
注意:由于Java的類型擦除機制,無法直接創建泛型數組,因此需要通過反射來實現。在創建泛型數組時,需要將其強制轉換成泛型類型 T[]
,這可能會導致編譯器警告。