出處:http://blog.csdn.net/yihui823/article/details/6756083
不良代碼一
String[] str = {"1", "2", "3", };
List strArray = new ArrayList();
for(int i = 0; i < str.length; i++) {
strArray.add(str[i]);
}
System.out.println(strArray);
代碼要做的,就是把一個String數組放到List裏面去。
其實有簡單的做法:
List<String> strArray = Arrays.asList(str);
這樣就可以了。不過,這樣得到的List,是不能做增刪的,因爲它只是個僞List。
我們加一句:strArray.add("a");
執行的時候就會有異常:
Exception in thread"main" java.lang.UnsupportedOperationException
atjava.util.AbstractList.add(AbstractList.java:131)
atjava.util.AbstractList.add(AbstractList.java:91)
at com.study.ArrayAndList.main(ArrayAndList.java:22)
如果我們得到的List還想要增刪,那麼可以用addAll方法。代碼如下:
String[] str = {"1", "2", "3", };
List<String> strArray = new ArrayList<String>();
strArray.addAll(Arrays.asList(str));
strArray.add("a");
System.out.println(strArray);