gpt4 book ai didi

java - Map.containsValue() 返回 false

转载 作者:行者123 更新时间:2023-11-29 09:58:39 25 4
gpt4 key购买 nike

我有一张 map 如下:

final Map<myobj,Set<String>> existingNames = this.getExistingCIs(_actual,_names.keySet());

它返回:

{myobj43c0e17f0100000606@3508cfdf=[Immutable]}

我正在尝试检查映射值是否包含字符串“Immutable”,然后我正在尝试做进一步的逻辑。但是existingNames.containsValue("Immutable")抛出 false :

if (existingNames.containsValue("Immutable")) { 
// mylogic
}

是不是因为Set<String> ?如果是这样如何检查这个?我想我在比较时做错了什么。我只有基本的 Java 知识,不知道如何转换集合来检查字符串。

最佳答案

检查任何集合是否包含值的简单方法是

existingNames.values().stream().anyMatch(s -> s.contains("Immutable"))

如果你想检查集合是否是包含字符串的单例,那么你可以创建一个内联集合:

existingNames.containsValue(Collections.singleton("Immutable"))

关于java - Map.containsValue() 返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55647143/

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