List<Object>
含まれている場合は完璧ですが、コンパイル時のエラーをスローせずList<Integer>
に、java が含まれていることをテストできるようにするにはList<Integer>
どうすればよいでしょうか。List<Object>
テストケース-1
Object obj = "one";
List<Object> objs = Arrays.<Object>asList("one", 2, 3.14, 4);
List<Integer> ints = Arrays.asList(2, 4);
assert objs.contains(obj); //Statement 1
assert objs.containsAll(ints); //Statement 2
assert !ints.contains(obj); //Statement 3
assert !ints.containsAll(objs); //Statement 4
上記のケースステートメント 3 と 4 では、正常にコンパイルおよび実行されます。したがって、私の疑問は次のとおりです。
- コンパイル時にエラーが発生するはずなので、ステートメント 3 と 4 をどのように実行できますか?
- それはエラーですか、それとも矛盾したサポートを提供する何らかの理由がありますか?