Javaのジェネリッククラスを定義・利用する方法

Javaでジェネリックスクラスを定義する構文は次のとおりです。

public class 类名<泛型参数1, 泛型参数2, ...> {
// 类的成员变量和方法
}

ジェネリック型パラメータは任意の有効な識別子に指定できて、通常は T や E などの大文字で表す。このクラス内部で、ジェネリック型パラメータは、メンバ変数の型、メソッドの引数の型、返値の型などに利用できる。

ジェネリクスクラスを使用する際は、クラス名の後に具体的な型引数を指定する必要がある。例:

类名<具体类型参数1, 具体类型参数2, ...> 对象名 = new 类名<>();

オブジェクトの作成時には、具体的な型パラメータを指定することも、デフォルトの型パラメータを利用することもできます。オブジェクトの作成後、オブジェクトの操作として、オブジェクトのメソッドを呼び出すことができます。メソッド内の引数及び返り値の型は、具体的な型パラメータによって型チェックされます。

次のコード例をご覧ください。

public class MyGenericClass<T> {
private T value;
public T getValue() {
return value;
}
public void setValue(T value) {
this.value = value;
}
}
public class Main {
public static void main(String[] args) {
MyGenericClass<Integer> myInt = new MyGenericClass<>();
myInt.setValue(10);
System.out.println(myInt.getValue()); // 输出 10
MyGenericClass<String> myStr = new MyGenericClass<>();
myStr.setValue("hello");
System.out.println(myStr.getValue()); // 输出 "hello"
}
}

上記のサンプルでは、MyGenericClassというジェネリッククラスが定義されており、Tというジェネリクスパラメータを持っています。メンバー変数としてvalueを持ち、対応するgetterとsetterメソッドがあります。mainメソッドでは、MyGenericClassとMyGenericClassのオブジェクトがそれぞれ作成され、操作が行われています。

bannerAds