2011-12-07 11 views
4

コードを調べて、次のメソッド宣言が見つかりました。<?>はAndroidメソッドの署名ではどういう意味ですか?

public void onItemClick(AdapterView<?> parent, View v, int position, long id) 

<?>はここで何を意味するのでしょうか?

ありがとうございます。

+2

あなたが探している用語は "generics"です。私はタグを適切に更新しました。関連する記事を参照してください。 –

+1

http://stackoverflow.com/questions/1844770/what-does-list-mean-in-java-generics、http://stackoverflow.com/questions/6777936/what-does-map-mean-in-java http://stackoverflow.com/questions/3009745/what-does-the-question-mark-in-java-generics-type-parameter-mean、http://stackoverflow.com/questions/1149964/java-generic -method-question –

答えて

6

AdapterViewは、汎用クラスである。それは、別のデータ型をパラメータとして受け取り、その操作は、その型に向かってカスタマイズされます。通常、あなたが

AdapterView<String> avs = new AdapterView<String>(...); 

ようAdapterView何かを宣言するだろうこれはStringのためにカスタマイズさAdapterViewを指します。

ここで、<?>は、カスタマイズされたクラスに関係なくAdapterViewを受け入れることを意味します。 ワイルドカード型指定子です。

関連する問題