53

重複の可能性:
JavaジェネリックでList <?>はどういう意味ですか?
Javaジェネリックのtypeパラメータの疑問符はどういう意味ですか?

申し訳ありませんが、を検索するのは困難でした<?>

Javaジェネリックに関してはどういう意味ですか?私は理解<A extends B><A super B>ていますが、この疑問符を単独で見たことがありません。

4

4 に答える 4

67

<?>は の短縮形で、無制限のワイルドカード<? extends Object>とも呼ばれます。したがって、ジェネリックで任意のタイプのオブジェクトを指定できます。

たとえば、ListクラスはList<?>、必要なもののリストになる可能性があるため、として宣言されます。


資力:

于 2012-07-09T09:34:00.783 に答える
14

そのwildcardタイプです。の略です? extends Object

あなたがそれを取得した場合、あなたが知っているのはそのObject. 設定しようとしても、オブジェクトのサブクラスである可能性があるためできません。

于 2012-07-09T09:34:18.607 に答える
5

ワイルドカード Generic は「something」です。Object を拡張したものとして扱われます。

Javaドキュメントから:

一般的なコードでは、ワイルドカードと呼ばれる疑問符 (?) は不明な型を表します。ワイルドカードは、さまざまな状況で使用できます。パラメーター、フィールド、またはローカル変数の型として。戻り値の型として使用されることもあります (ただし、より具体的なプログラミング方法を使用することをお勧めします)。ワイルドカードは、ジェネリック メソッドの呼び出し、ジェネリック クラス インスタンスの作成、またはスーパータイプの型引数として使用されることはありません。

したがって、たとえば、 aList<?>は不明なタイプのオブジェクトを含むリストです。

于 2012-07-09T09:35:59.057 に答える
3

ワイルドカードです。コレクションを持っているが、そのコレクションのタイプがわからない場合、「?」で表します。タイプが不明であることを指定するだけです。詳細については、http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf を参照してください。役立つと確信しています。

于 2012-07-09T09:35:39.853 に答える