gpt4 book ai didi

java - 仔细检查 map 元素是否存在?

转载 作者:行者123 更新时间:2023-11-29 07:00:06 33 4
gpt4 key购买 nike

在我现在正在处理的代码中,我遇到了以下部分:

PartnerReportItem item = (map.get(partnerId) == null) ? null
: map.get(partnerId).get(platform); //1, check for existence

if (item == null) {
item = new PartnerReportItem();
item.setPlatform(platform);
item.setPartnerId(partnerId);
item.setPartnerEmail(partner.getEmail());
item.setPartnerPaymentDetails(paymentDetails);
item.setPartnerCoef(partner.getCoef());
item.setExchangeMap(exchangeMap);

if (!map.containsKey(partnerId)) //2, double check for existence??
map.put(partnerId, new HashMap<Platform, PartnerReportItem>());
map.get(partnerId).put(platform, item);
}

我对 //1//2 感到困惑,因为我认为//2 在这里是不必要的。我们已经检查了 map 中是否存在带有 partnerId 的元素。我能不能得到一个隐藏的想法?

最佳答案

该项目可能为空,因为 map.get 未返回任何内容(外部 map 不存在)或因为内部 map 不包含请求的对象。因此,将执行第二次检查以检测 item 变为 null 的实际原因。

关于java - 仔细检查 map 元素是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27562342/

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