首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Map<String,Set<String>>可选Java8

Map<String,Set<String>>可选Java8
EN

Stack Overflow用户
提问于 2022-04-19 01:54:22
回答 1查看 288关注 0票数 -1

我有一个Map getProperties,它返回{BUILDING=a,b,c},{NEW_BUILDING=a,b,c,d,e},{OLD_BUILDING=d,e}。

我想根据这个值在BUILDING、NEW_BUILDING和OLD_BUILDING之间切换。

我正在尝试这样的方法

代码语言:javascript
复制
return Optional.ofNullable(properties.get("BUILDING")).map(a -> {
            if(a.contains(code)) {
                return callMethod;
            } else {
                return null;
            }
        }).get();

我想返回建筑,NEW_BUILDING和OLD_BUIDLING

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-04-19 02:29:12

试试下面的代码:

代码语言:javascript
复制
Set<Map.Entry<String, Set<String>>> entries = properties.entrySet();
        for (Map.Entry<String, Set<String>> entry : entries) {
            Set<String> value = entry.getValue();
            if (value.contains(code)) {
                switch (entry.getKey()) {
                    case "BUILDING":
                        return callBuidingMethod;
                    case "OLD_BUILDING":
                        return callNewBuilding;
                    case "NEW_BUILDING":
                        return callOldBuilding;
                    default:
                        return null;
                }
            }
        }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71918818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档