为了账号安全,请及时绑定邮箱和手机立即绑定

声明为List,Idea 提示 incompatible types。但是声明为ArrayList缺正确,为什么?

声明为List,Idea 提示 incompatible types。但是声明为ArrayList缺正确,为什么?

雨溢丰 2016-11-20 17:54:34
ListTest {     ArrayList () {         .= ArrayList<Course>()} }
查看完整描述

3 回答

已采纳
?
小草1434

TA贡献106条经验 获得超23个赞

List只是一个接口(interface),不能够具体实例化成对象,通常使用其实现类(ArrayList,LinkedList)进行实例化成数组对象 所以写法可以如下 List list = new ArrayList(); 如果按照严格编码规范写的话,考虑到它的泛型特性,所以概括性的写如下 List<?> list = new ArrayList<?>(); 如果确定了数组中元素的基本类型,其中问号可以替代为基本类型关键字。
查看完整回答
1 反对 回复 2016-11-22
?
小草1434

TA贡献106条经验 获得超23个赞

因为List 是接口,不是具体的实现类。

如果List 后面有跟上 其具体实现类(LinkedList,ArrayList等)的赋值也是可以的。

如果是直接用其实现类(如ArrayList)进行声明变量是可以的。

查看完整回答
反对 回复 2016-12-04
?
肆意先生

TA贡献14条经验 获得超9个赞

List是接口,必须通过其子类实例化。

查看完整回答
反对 回复 2016-11-20
  • 3 回答
  • 0 关注
  • 5063 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信