本帖最后由 java2000_net 于 2008-09-19 17:32:50 编辑

解决方案 »

  1.   

    沙发一个。我估计是不是因为是泛型的List的缘故?会抛出一个UnsupportedOperationException。remove那一行。
      

  2.   

    使用Arrays.asLisvt()后调用add,remove这些method时出现java.lang.UnsupportedOperationException异常。这是由于:Arrays.asLisvt() 返回java.util.Arrays$ArrayList, 而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等method在AbstractList中是默认throw UnsupportedOperationException而且不作任何操作。ArrayList override这些method来对list进行操作,但是Arrays$ArrayList没有override remove(int),add(int)等,所以throw UnsupportedOperationException。解决方法是使用Iterator,或者转换为ArrayList
      

  3.   

    抛异常,正好看Effective Java的时候分析过这样的问题.
      

  4.   

     l.remove(0);
    不支持此操作...
    strs数组的值也会删除,可能引起误操作
      

  5.   

    l.remove(0);
    Exception in thread "main" java.lang.NullPointerException
      

  6.   

    两个REMOVE的地方抛错:
    java.lang.UnsupportedOperationException
    谁来解释下为什么。
      

  7.   

    Random的使用问题 is 小测试1.
      

  8.   

    Arrays.asList 中返回的是其内部类简化实现的 List,而这个 List 并没实现 remove 
    方法,甚至连 add 都没有实现,而仅仅使用了一个普通的数据作为存储,这时就使用默
    认的AbstractList 中的 add 和 remove 方法因此并不能像 ArrayList 那样能修改其内
    部的长度,而使用 add 和 remove 方法。
      

  9.   

    返回的List是AbstractList的子类,它的remove如下
    public E remove(int index) {
    throw new UnsupportedOperationException();
        }
      

  10.   

    可是 对于asList 的解释是:
    返回一个受指定数组支持的固定大小的列表。(对返回列表的更改会“直写”到数组。)呀。
      

  11.   

    java.lang.UnsupportedOperationException
    at java.util.AbstractList.remove(Unknown Source)
    要实现可修改的列表,必须另外重写 set(int index, Object element) 方法,否则将抛出 UnsupportedOperationException。如果列表为可变大小,则必须另外重写 add(int index, Object element) 和 remove(int index) 方法。
    其实并没有remove这个方法 所以抛异常?