为什么 List<String> 不能被接受为 List<Object>?
考虑以下接受作为参数的方法。doSomething(List<Object>)
List<Object>
private void doSomething(List<Object> list) {
// do something
}
现在考虑下面的代码片段,它试图调用我试图传递给的位置doSomething()
List<String>
doSomething()
List<Object> objectList;
List<String> stringList;
doSomething(stringList); // compilation error incompatible types
doSomething(objectList); // works fine
即使低于代码也会引发编译错误
objectList = stringList; // compilation error incompatible types
我的问题是为什么不能传递给接受的方法?List<String>
List<Object>