下面的代码执行后
private void onButtonAsListClick() {
String[] strArray = new String[] { "aa", "bb" };
List<String> list = Arrays.asList(strArray);
try {
list.add("cc");
} catch (Exception e) {
Log.i("AsList", "add failure");
}
}
异常发生
原因:
是一个不可变的数组,所以修改如下:
private void onButtonAsListClick() {
String[] strArray = new String[] { "aa", "bb" };
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.addAll(Arrays.asList(strArray));
try {
arrayList.add("cc");
} catch (Exception e) {
Log.i("AsList", "add failure");
}
for (String string : arrayList) {
Log.i("AsList", string);
}
}
输出结果:
上面的代码:
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.addAll(Arrays.asList(strArray));
也可改为:
ArrayList<String> arrayList = new ArrayList<String>(
Arrays.asList(strArray));
效果一样。