1. ホーム
  2. java

[解決済み] Javaジェネリックス (ワイルドカード)

2022-09-21 06:35:43

質問

Javaにおける一般的なワイルドカードについて、いくつか質問があります。

  1. との違いは何ですか? List<? extends T>List<? super T> ?

  2. bounded ワイルドカードと unbounded ワイルドカードとは何ですか?

どのように解決するのですか?

最初の質問で <? extends T><? super T> は拘束されたワイルドカードの例です。 束縛されないワイルドカードは次のようになります。 <?> のように見え、基本的には <? extends Object> . これは、ジェネリックがどのような型であってもよいということを緩やかに意味しています。 境界付きワイルドカード ( <? extends T> または <? super T> のどちらかでなければならない、というように型に制限をかけます。 を拡張する 特定の型 ( <? extends T> は上限として知られています)、または特定の型の祖先でなければなりません( <? super T> は下限値として知られています)。

Javaチュートリアルの記事で、ジェネリクスについてかなり良い説明があります。 ワイルドカード ワイルドカードをもっと楽しむ .