ジェネリクス型配列はJavaでどのように定義されるのでしょうか
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;
}
}
汎用クラスである、汎用型パラメーター T を使用した GenericArray が上記の例では示されています。コンストラクタで、リフレクションを使用して汎用配列 array が作成されています。get() および set() メソッドで、配列内の要素の値を取得および設定できます。
ジェネリクス配列はJavaの型消去メカニズムにより直接作成することはできず、リフレクションによる実現が必要となる。ジェネリクス配列を作成する際はT[]のジェネリクス型に強制変換する必要があるが、コンパイラ警告が出る可能性がある。