問題一覧に戻る
中級コレクション
問題89: ジェネリクス基礎
ジェネリクスは'<'T'>'のような型変数でクラスやメソッドをパラメータ化することで、型安全なコードを実現します。これによりキャストが不要になり、コンパイル時に型エラーを検出できます。ジェネリッククラスは型安全性を維持しながら任意の型で動作できます。型パラメータTは、クラス使用時にStringやIntegerなどの実際の型で置き換えられるプレースホルダーとして機能します。
import java.util.*;
// ジェネリッククラス
class Box {
private content;
public void set( item) {
this.content = item;
}
public get() {
return content;
}
}
public class Main {
public static void main(String[] args) {
// String用のBox
BoxString stringBox = new Box<>();
stringBox.set("Hello");
System.out.println(stringBox.get());
// Integer用のBox
Box<> intBox = new Box<>();
intBox.set(42);
System.out.println(intBox.get());
}
}