java.lang.UnsupportedOperationException_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java.lang.UnsupportedOperationException

java.lang.UnsupportedOperationException

 2015/2/4 18:30:04  ganchengjie  程序员俱乐部  我要评论(0)
  • 摘要:今天开发时遇到了这样一个异常java.lang.UnsupportedOperationException引起异常代码:1.String[]strs=newString[]{"a","b"};2.List<String>strList=Arrays.asList(strs);3.strList.add("c");在第三行抛出的异常经分析java源代码Arrys.asList();方法返回的不是平常熟悉的java.util.ArrayList类的对象。而是Arrays类的内部类的对象
  • 标签:operation Java Opera
今天开发时遇到了这样一个异常java.lang.UnsupportedOperationException

    引起异常代码:

       1.String[] strs = new String[]{"a","b"};

       2. List<String> strList = Arrays.asList(strs);

       3. strList.add("c");

      在第三行抛出的异常



      经分析java源代码Arrys.asList();方法返回的不是平常熟悉的java.util.ArrayList类的对象。而是Arrays类的内部类的对象,而Arrays类里的内部类ArrayList没有实现AbstractList类的add方法,导致抛此异常! strList.add("c");这行代码调用的add方法实际上是这样的:

public boolean add(E e) {

        add(size(), e);

        return true;

    }    

public void add(int index, E element) {

        throw new UnsupportedOperationException();

    }



      解决方法

            String[] strs = new String[]{"a","b"};

       List<String> strList = new ArrayList<String>(Arrays.asList(strs));

       strList.add("c");
发表评论
用户名: 匿名