为什么数组列表类实现List并扩展抽象List?
实现以及扩展的实现。但是在java文档中,你可以看到 AbstractList 已经实现了 List。那么,实现 List 和扩展 AbstractList 不是多余的吗?
我的第二个问题
请看下面的代码:java.util.ArrayList
List
AbstractList
String str = "1,2,3,4,5,6,7,8,9,10";
String[] stra = str.split(",");
List<String> a = Arrays.asList(stra);
Arrays 类的方法包含它自己的 ArrayList 实现。但是这个只是扩展了 AbstractList,而没有实现 List。但是上面的代码编译了。
但是当代码修改为以下内容时Arrays.asList()
String str = "1,2,3,4,5,6,7,8,9,10";
String[] stra = str.split(",");
java.util.ArrayList<String> a = Arrays.asList(stra);
我收到一个错误:
这背后的原因是什么?
EDIT
确实返回了自己的 ArrayList 实现。看看这个。cannot convert form List<String> to ArrayList<String>
Arrays.asList()