黑马程序员技术交流社区

标题: 有关泛型的提问 [打印本页]

作者: 快乐的黑马    时间: 2014-1-12 19:10
标题: 有关泛型的提问
关于通配符限定上下边界的问题:

        ArrayList<? extends Number> x = new ArrayList<Number>();
        上面这这么定行吗?为什么?

        ArrayList<? extends Number> x = new ArrayList<Integer>();
        x =new ArrayList<Number>();
        上面这么写也行吗,它和第一种写法(ArrayList<? extends Number> x = new ArrayList<Number>();)有保区别?

        ArrayList<Number> y = x;
        为什么这么写就不行?



作者: 程玉习    时间: 2014-1-12 19:42
<? extends Number>可以指向Number和它的子类,所以前两个可以。

  ArrayList<Number> y = x;  只能作为引用,不能给变量赋值。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2