上級 › raw type とワイルドカードの使い分け › パターン2
raw type とワイルドカードの使い分け
型引数を省くと型安全が失われます。
1 import java.util.List; 2 3 public class Main { 4 static void show(List<______> list) { ^ 5 for (Object o : list) System.out.println(o); 6 } 7 public static void main(String[] args) { 8 List<Integer> nums = List.of(1, 2, 3); 9 show(nums); 10 } 11 }
Main.java:9: error: incompatible types: List<Integer> cannot be converted to List<Object>
空欄を埋めてビルドを通す
List<Integer>はList<Object>の部分型ではありません。何でも受けるにはワイルドカード ? を使います。
次の問題