猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
声明为List,Idea 提示 incompatible types。但是声明为ArrayList缺正确,为什么?
ListTest { ArrayList () { .= ArrayList<Course>()} }
雨溢丰
浏览 5071
回答 3
3回答
小草1434
List只是一个接口(interface),不能够具体实例化成对象,通常使用其实现类(ArrayList,LinkedList)进行实例化成数组对象 所以写法可以如下 List list = new ArrayList(); 如果按照严格编码规范写的话,考虑到它的泛型特性,所以概括性的写如下 List<?> list = new ArrayList<?>(); 如果确定了数组中元素的基本类型,其中问号可以替代为基本类型关键字。
1
0
1
小草1434
因为List 是接口,不是具体的实现类。如果List 后面有跟上 其具体实现类(LinkedList,ArrayList等)的赋值也是可以的。如果是直接用其实现类(如ArrayList)进行声明变量是可以的。
0
0
0
肆意先生
List是接口,必须通过其子类实例化。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续