gpt4 book ai didi

java - 当 retainall 用于 java 中的两个键集时不可修改的集合问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:33:41 28 4
gpt4 key购买 nike

Map<String,String> map=request.getParameterMap();

^ 是不可修改的映射。

Set s1= map.keySet();
Set s2= map2.keySet();/* another keyset of local map*/

使用 s1.retainAll(s2) 抛出异常:at java.util.collections$unmodifiablecollection.retainall

此处 request.getParameterMap() 返回一个不可修改的 map 。我尝试创建一个本地 map 。但问题仍然存在。提出一些解决方案。

最佳答案

Set.retainAll 方法修改调用它的集合。假设不可修改 map 的 keySet 方法只是底层 map 的一个 View ,它不应该允许修改。您可能想创建一个新的(可修改的)集合,然后从中删除项目:

Set s1 = new HashSet(map.keySet());
s1.retainAll(s3);

关于java - 当 retainall 用于 java 中的两个键集时不可修改的集合问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10713531/

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