public static void main(String[] args) {
List<Character> l1 = Arrays.asList('a','b','c','e','h','g','m');
List<Character> l2 = Arrays.asList('a','l','k','e','p','o','m');
l1.removeAll(l2);
List<Character> l1 = Arrays.asList('a','b','c','e','h','g','m');
List<Character> l2 = Arrays.asList('a','l','k','e','p','o','m');
l1.removeAll(l2);
System.out.println(l1);
}
使用Arrays.asList()后调用add,remove,removeAll,retainAll这些method时出现java.lang.UnsupportedOperationExce
Arrays.asList() 返回java.util.Arrays$ArrayList,而不是ArrayList。Arrays$ArrayList和ArrayList都是继承AbstractList,remove,add等method在AbstractList中是默认throwUnsupportedOperationExce
解决方法是将其转换为ArrayList
List list = Arrays.asList(a[]);
List arrayList = new ArrayList(list);