`

java.lang.UnsupportedOperationException

阅读更多
今天开发时遇到了这样一个异常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");
分享到:
评论

相关推荐

    java.lang.UnsupportedOperationException异常(csdn)————程序.pdf

    java.lang.UnsupportedOperationException异常(csdn)————程序

    Android 兼容性问题:java.lang.UnsupportedOperationException解决办法

    主要介绍了Android 兼容性问题:java.lang.UnsupportedOperationException解决办法的相关资料,需要的朋友可以参考下

    Android webveiw 出现栈错误解决办法

    主要介绍了Android webveiw 出现栈错误解决办法的相关资料,出现java.lang.UnsupportedOperationException: For security reasons, WebView is not allowed in privileged processes,这里提供解决办法,需要的朋友...

    list使用过程中遇到的坑

    xception in thread "main" java.lang.UnsupportedOperationException Arrays.asList转化基本数据类型数组的时候有个意想不到的坑 当我们在实际业务开发过程中,难免会遇到数组转List的操作,通常我们所选择的就是...

    1 ElasticSearch 安装

    ElasticSearch Linux系统安装教程

    prueba-javassist:用于动态代码插入的字节码级别的类操作测试

    测试javassist 用于动态代码插入的字节码级别的类操作测试虚拟机参数-agentlib:jdwp = ... 根据您运行的 JVM,可能会出现以下错误:线程“HotSwap”中的异常 java.lang.UnsupportedOperationException:未实现架构更改

    MockDialogInterface.rar_All You Need

    A mock {@link android.content.DialogInterface} class. All methods are non-functional and throw {@link java.lang.UnsupportedOperationException}. Override it to provide the operations that you need.

    环信移动客服DEMO无问题版

    &gt; com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: java.lang.UnsupportedOperationException 解决这个问题

    Proguard v5.3.3.rar

    代码混淆的时候出现java.lang.UnsupportedOperationException: Unsupported class version number [52.0] (maximum 51.0, Java 1.7),原因是proguard.jar版本太低,需要5.0以上的版本

    java 面试题 总结

    java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 3、int 和 Integer 有什么区别 Java 提供两种不同的类型:引用类型和原始类型(或内置...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

    超级有影响力霸气的Java面试题大全文档

     java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间,我们应该用StringBuffer类 6、int 和 Integer 有什么区别  Java 提供两种不同的类型:引用类型和原始类型(或...

Global site tag (gtag.js) - Google Analytics