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