前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >由于java.util.Arrays.asList(...)导致的异常

由于java.util.Arrays.asList(...)导致的异常

作者头像
云海谷天
发布2022-08-09 14:33:24
2350
发布2022-08-09 14:33:24
举报
文章被收录于专栏:技术一点点成长

前言:

   Collections.toArray()与Arrays.asList() 是Java API提供的友好的相互转换工具,日常开发中用于列表和数组之间的转换非常方便,但今天测试时,发现一下隐藏的坑。。。


Exception:

terms=[此物只应天上有, 我你他, 12306,一按我帮您] Exception in thread "main" java.lang.UnsupportedOperationException at java.util.AbstractList.add(AbstractList.java:148) at java.util.AbstractList.add(AbstractList.java:108) at Hello.main(Hello.java:13)

测试代码如下:

代码语言:javascript
复制
import java.util.Arrays;
import java.util.List;


public class Hello {
    
    public static void main(String[] args) {
      
        String ss[] =  {"此物只应天上有","我你他","12306,一按我帮您"};
        List<String> terms = Arrays.asList(ss);
        System.out.println("terms="+terms);
        terms.remove("12306");
        terms.add("testAdd");
        System.out.println("terms="+terms);
    }

}

反复调试,都是在"terms.add(xxx)"抛异常;

无奈之下只好翻阅Java API,发现:

晕!Arrays.asList(arr)返回的是一个固定大小的列表,无法对其执行删除(remove)或增加(add)操作!

后语:

     程序虐我千百遍,我却待它如初恋。若发现类似的坑,以上教训希望能给其他朋友作为参考借鉴!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档