gpt4 book ai didi

java - List 的 removeIf() 未按预期工作

转载 作者:行者123 更新时间:2023-12-01 07:18:06 26 4
gpt4 key购买 nike

每当我尝试从 List 中删除元素时使用 list.removeIf(condition) 它会抛出 UnsupportedOperationException :

public class Test 
{
public static void main(final String[] args)
{
String[] stringArray = new String[]{"A","B","C","D"};
List<String> stringList = Arrays.asList(stringArray);
stringList.forEach(System.out::println);
stringList.removeIf((String string) -> string.equals("B"));
stringList.forEach(System.out::println);
}
}

为什么不工作?

最佳答案

Arrays.asList 返回一个固定大小的 List - 由您传入的数组支持 - 因此,就像您无法从列表中删除(或添加)元素一样数组,您无法从列表中删除(或添加)元素。

使用java.util.ArrayList以便能够删除元素:

List<String> stringList = new ArrayList<>(Arrays.asList(stringArray)); 

关于java - List 的 removeIf() 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50941743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com