質問: mBtAdapter.getBondedDevices();の ブルーツースのペアリングの履歴の取得のなかで、名前とアドレスを取得したいのですが、 Set pairedDevicesの<>の意味がわかりません。 学習の入り口が間違っていると思いますが、どのような意味なのでしょうか? また、お勧めのJAVA定本があれば教えてください。お願いします。 sasamagari
回答: 総称型、あるいはジェネリクスと呼ばれるものです。 SetやListのように、いくつかの要素をまとめたものを**コレクション**と呼びます。 コレクションには様々な用途があります。当然その時々で扱いたいデータの型は異なります。それぞれの型を扱うクラスを別個に作るのは不便です。 では、あらゆる型を画一的に扱えるように、コレクションの扱う型をObjectにすればいいではないかという案が出そうですが、コレクションから取りだし、元の型で使おうとする時にキャストの必要が生まれます。Objectで扱うが為に入れる型に制限も無いため、キャストが安全である保証がありません。 このような問題を解消すべく出来たのがこのジェネリクスという仕組みです。扱う型をあらかじめ宣言しておくことで、入れる型に制限がかかり、取り出す際もその型であることが保証されるようになります。