nar*_*yan 2 java generics inheritance
当我编写以下代码编译器时说
无法转换
ArrayList<String>为List<Comparable>
private List<Comparable> get(){
return new ArrayList<String>();
}
Run Code Online (Sandbox Code Playgroud)
但是当我用通配符编写返回类型时,代码会编译.
private List<? extends Comparable> get() {
return new ArrayList<String>();
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下为什么吗?
A List<String>不是List<Comparable>.
毕竟,你可以投入Integer一个List<Comparable>.