当我尝试使用removeIf()
从列表中删除元素时,它正在抛出UnsupportedOperationException
public class T {
public static void main(String[] args) {
String[] arr = new String[] { "1", "2", "3" };
List<String> stringList = Arrays.asList(arr);
stringList.removeIf((String string) -> string.equals("2"));
}
}
有人可以帮助我理解为什么会这样,我该如何纠正这个?
答案 0 :(得分:7)
Arrays.asList(arr)
会返回固定大小的List
,因此您无法在其中添加或删除元素(仅替换现有元素)。
改为创建ArrayList
:
List<String> stringList = new ArrayList<>(Arrays.asList(arr));