public static List< ? super E> process( List nums){
return nums;
}
public static void main(String[] args) {
ArrayList input=null; List output=null; output=process(input);
}
} public static List< ? super E> process( List nums)方法中List< ? super E> 返回类型是什么 为什么编译错误 这和 Anmail fun() 返回个new Dog()有什么区别
帮帮忙啊~~ java还可以这样写。。。。 不清楚 帮忙啊
? super E 表示E的父类List<? super E>就表示List里的内容必须是E的父类 是不是就是说内容必须是Number的子类? 这个问题其实很简单,因为process方法返回的是List<? super Integer>类型,而output被定义为List类型,前者是不能直接赋值给后者的。为什么呢?尽管Number是Integer的父类,但同时Object也是Integer的父类,所以一个List