Java-generics-wildcards-guidelines
提供:Dev Guides
Java Generics-ワイルドカード使用のガイドライン
ワイルドカードは3つの方法で使用できます-
- 上限ワイルドカード-? Typeを拡張します。
- 下限ワイルドカード-? スーパータイプ。
- 無制限のワイルドカード-?
条件に最適なワイルドカードのタイプを決定するために、最初にメソッドに渡されるパラメーターのタイプを in および out パラメーターとして分類しましょう。
- in variable -in変数はコードにデータを提供します。 たとえば、copy(src、dest)。 ここで、srcはコピーされるデータである変数のように機能します。
- * out変数*-out変数は、コードによって更新されたデータを保持します。 たとえば、copy(src、dest)。 ここで、destはコピーされたデータを持つ変数のように機能します。
ワイルドカードのガイドライン。
- 上限ワイルドカード-変数が in カテゴリの場合、ワイルドカードを使用してextendsキーワードを使用します。
- 下限ワイルドカード-変数が out カテゴリの場合、ワイルドカード付きのスーパーキーワードを使用します。
- 非バインドワイルドカード-オブジェクトクラスメソッドを使用して変数にアクセスできる場合は、非バインドワイルドカードを使用します。
- ワイルドカードなし-コードが in および out カテゴリの両方の変数にアクセスしている場合、ワイルドカードを使用しないでください。
例
次の例は、上記の概念を示しています。
これは、次の結果を生成します-