Javaジェネリックス-無制限のワイルドカード
疑問符(?)はワイルドカードを表し、ジェネリックスの不明なタイプを表します。Objectクラスで提供される機能を使用してメソッドを実装できる場合、またはコードがtypeパラメーターに依存しない場合は、任意のオブジェクトを使用できる場合があります。
Unbounded Wildcardパラメーターを宣言するには、?をリストします。のみ。
例
次の例は、extendsを使用して無制限のワイルドカードを指定する方法を示しています。
package com.tutorialspoint;
import java.util.Arrays;
import java.util.List;
public class GenericsTester {
public static void printAll(List<?> list) {
for (Object item : list)
System.out.println(item + " ");
}
public static void main(String args[]) {
List<Integer> integerList = Arrays.asList(1, 2, 3);
printAll(integerList);
List<Double> doubleList = Arrays.asList(1.2, 2.3, 3.5);
printAll(doubleList);
}
}
これにより、次の結果が生成されます-
出力
1
2
3
1.2
2.3
3.5