Arrays.asList().remove(0)报错

今天用List做个小测试,发现如题的代码报错: java.lang.UnsupportedOperationException

 

感谢google,发现问题了。看代码:

public class Arrays {
...
public static  List asList(T... a) {
  return new ArrayList(a);
}
 
private static class ArrayList extends AbstractList
  implements RandomAccess, java.io.Serializable
{
...
}
...
}

 原来那个List是通过Arrays.asList()这个方法构造的,一直以为返回的就是一个ArrayList,实际上是Arrays里面一个名叫ArrayList的私有类。这个类继承自AbstractList,但并没有实现remove方法。

 

特此留个记号。

 

你可能感兴趣的:(Arrays)