• 締切済み

Android / 型変数へのバインド?

下記のようなコードがあるのですが、意味が分からないので教えてください arrayAdapter = new ArrayAdapter<Hoge>(this,R.layout.listview); listView.setAdapter(arrayAdapter); 1.< >に入れる内容は? ・ここにはStringなどの型を入れると思っていたのですが、このコードではユーザー定義したHogeクラスを入れています ・< >に入れて良い内容は、どういう風に決められているのでしょうか? ・また、この場合、どういう意味になるのでしょうか? ■Hogeクラス内容 ・プロパティ … データベーステーブルやカラム名を定数宣言 ・メソッド … レコード取得する(?)セッター、ゲッター ・リストビュー … 上記メソッドを使ったリストビュー

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

http://docs.oracle.com/javase/jp/7/technotes/guides/language/generics.html 「ジェネリクス」と言います。 StringもHogeも、同じ「クラス」です。 (特別な場合を除けば)標準のものと、自作とで、プログラム中の扱いに違いはありません。 ArrayAdapter<String> がわかっているなら、「文字列」が「Hoge」に変わっただけです。

re97
質問者

補足

回答ありがとうございます。 例えば、ArrayAdapter<String>だと「文字列」であることを保障する、みたいに理解しているのですが、 ArrayAdapter<Hoge>だと、「Hoge」であることを保障する? Hogeには、色々なプロパティや、メソッドがあるのですが、 この中から自動的にリストに関連するメソッドを選びだし、その内容を保障してくれる、みたいな感じになるのでしょうか?

関連するQ&A