これにより、Set
汎用セットが作成されます。これを宣言すると:
Set<BluetoothDevice> pairedDevices
は、Set
オブジェクトが type のオブジェクトのみを含む必要があることを意味しますBluetoothDevice
。タイプ セーフの利点がすぐに得られるため、通常はジェネリック コレクションを使用することをお勧めします。
Java Collections Framework は、あらゆるタイプのオブジェクトを処理できるように設計されています。Java 1.4以前では、コレクションに追加された任意のオブジェクトの型として使用されjava.lang.Object
ていました。オブジェクトを使用するときに、オブジェクトを目的の型に明示的にキャストする必要がありました。そうしないと、コンパイル時にエラーが発生します。
Java 5で導入された Java Generics は、より強力な型安全性を提供します。ジェネリックを使用すると、型をパラメーターとしてクラス、インターフェイス、およびメソッドの宣言に渡すことができます。例えば:
Set<BluetoothDevice> pairedDevices
この<BluetoothDevice>
例の は型パラメーターです。型パラメーターを使用すると、コンパイラは、互換性のある型のオブジェクトのみでコレクションを使用することを保証します。もう 1 つの利点は、コレクションから取得したオブジェクトをキャストする必要がないことです。オブジェクト型エラーは、実行時にキャスト例外をスローするのではなく、コンパイル時に検出されるようになりました。
推奨読書:
- ジェネリックに関する Oracle のチュートリアル
- J2SE 5.0 でのジェネリックの使用とプログラミング
- Java のジェネリック - Wiki
- Java の理論と実践: ジェネリックの落とし穴
- Java ジェネリックに関するよくある質問
- 共分散と反分散