重複の可能性:
JavaジェネリックでList <?>はどういう意味ですか?
Javaジェネリックのtypeパラメータの疑問符はどういう意味ですか?
申し訳ありませんが、を検索するのは困難でした<?>
。
Javaジェネリックに関してはどういう意味ですか?私は理解<A extends B>
し<A super B>
ていますが、この疑問符を単独で見たことがありません。
重複の可能性:
JavaジェネリックでList <?>はどういう意味ですか?
Javaジェネリックのtypeパラメータの疑問符はどういう意味ですか?
申し訳ありませんが、を検索するのは困難でした<?>
。
Javaジェネリックに関してはどういう意味ですか?私は理解<A extends B>
し<A super B>
ていますが、この疑問符を単独で見たことがありません。
<?>
は の短縮形で、無制限のワイルドカード<? extends Object>
とも呼ばれます。したがって、ジェネリックで任意のタイプのオブジェクトを指定できます。
たとえば、List
クラスはList<?>
、必要なもののリストになる可能性があるため、として宣言されます。
資力:
そのwildcard
タイプです。の略です? extends Object
あなたがそれを取得した場合、あなたが知っているのはそのObject
. 設定しようとしても、オブジェクトのサブクラスである可能性があるためできません。
ワイルドカード Generic は「something」です。Object を拡張したものとして扱われます。
Javaドキュメントから:
一般的なコードでは、ワイルドカードと呼ばれる疑問符 (?) は不明な型を表します。ワイルドカードは、さまざまな状況で使用できます。パラメーター、フィールド、またはローカル変数の型として。戻り値の型として使用されることもあります (ただし、より具体的なプログラミング方法を使用することをお勧めします)。ワイルドカードは、ジェネリック メソッドの呼び出し、ジェネリック クラス インスタンスの作成、またはスーパータイプの型引数として使用されることはありません。
したがって、たとえば、 aList<?>
は不明なタイプのオブジェクトを含むリストです。
ワイルドカードです。コレクションを持っているが、そのコレクションのタイプがわからない場合、「?」で表します。タイプが不明であることを指定するだけです。詳細については、http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf を参照してください。役立つと確信しています。