[求助]泛型类别的问题
小弟对Java的泛型类别感到很混乱,请问以下两行代码有何不同?
第一行错在哪里?
谢啦...
List <String> [] lsa = new List<String>[10] //错误
List <Integer> intList = new ArrayList<Integer>() //正确
List <Integer> intList = new ArrayList<Integer>() //正确
----------------解决方案--------------------------------------------------------
你的错误不是你泛型声明的错误,而是你构造对象错误
List这个类,是一个接口,不是一个类,是不能用new去构造对象的
而ArrayList是一个实现了List接口的类,它是可以用new去构造的,当然也可以把这个对象的引用赋给List
----------------解决方案--------------------------------------------------------
怎么又跑出个接口出来啦...
那样说Set和Map都是接口吧...
可以说下接口和类的差别吗?
----------------解决方案--------------------------------------------------------
还有一个问题,请问这个定义:
class C<T extends Comparable<? super T> & Serializable>
其中Comparable是个可被实作的介面应该是Java的保留字.为何可以充当类的名称来继承别的类?
----------------解决方案--------------------------------------------------------
搂主应该先去API 上 搜索 下的..
Comparable 哪里是什么保留字呀。.是个接口, 在java.lang包下
<T extends Comparable> 是限制泛型的范围, 即只能是实现 Comparable 接口的类
在泛型中不用 implements 实现接口, 而用 extends, 因为这样 更贴切,形象,
----------------解决方案--------------------------------------------------------