整型泛型的Java列表声明
有人能解释一下为什么以下两个申报案例无效吗?如果有人能自愿帮忙,我将非常感激 案例1:整型泛型的Java列表声明,java,list,collections,Java,List,Collections,有人能解释一下为什么以下两个申报案例无效吗?如果有人能自愿帮忙,我将非常感激 案例1:Listls=newlist() 案例2:Listll=newlist()列表是一个接口而不是一个类 尝试使用List,更具体地说是java.util.List,它是一个接口,也是java.util.Collection接口的一个子类型 无法实例化接口。实现接口并重写其所有抽象方法的类(不包括抽象类)是实例化和使用的类 您可以从以下Java集合框架的列表实现中进行选择: java.util.ArrayList
Listls=newlist()代码>
案例2:List>ll=newlist>()代码>列表
是一个接口
而不是一个类
尝试使用List
,更具体地说是java.util.List
,它是一个接口,也是java.util.Collection
接口的一个子类型
无法实例化接口。实现接口并重写其所有抽象方法的类(不包括抽象类)是实例化和使用的类
您可以从以下Java集合框架的列表实现中进行选择:
- java.util.ArrayList
- java.util.LinkedList
- java.util.Vector
- java.util.Stack
看看这篇文章。它解释了如何使用上述类
另外,请看一看教程。因为界面中的列表
,它们永远无法实例化。
ArrayList是列表
接口
的一个实现类。
您可以这样做:
ArrayList al =new ArrayList(); //ArrayList implements List,so this will give you all functionality of List
这两个都是无效的
List
是一个接口,您不能创建它的对象(简单的继承不是吗?)
考虑这个
Interface A<> {
}
由于ArrayList
实现了List
接口并扩展了抽象类AbstractList
,是因为List是接口,接口不能实例化吗?但是下面的代码似乎是通过强制转换实例化的:-公共接口A{}公共类B实现了一个{}公共静态void main(字符串[]args){A test=new B();//A test=new A();//wont compile}B
是一个类,A
只是你个人资料图片中+1问题的介面。@MichaelMarkidis非常感谢你的提问
A<Something> a=new A<>();
List< Integer> ls= new List< Integer>();
List<Integer> list=new ArrayList<>();