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

java

前言:

   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)

测试代码如下:

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)操作!

后语:

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

以上是 由于java.util.Arrays.asList(...)导致的异常 的全部内容, 来源链接: utcz.com/z/391357.html

回到顶部