java如何解决声纳问题“正确性此方法在找到相等条件后继续循环”
我有下面的代码。我只想从代码中得到
- 如果方法参数中提供的区域设置在labelList中,则返回它 或者
- 检查labelList中是否有EN_US,然后将其退回
String LOCALE = "locale";
List<Map<String, Object>> labelList = // coming for other class
...
public Object resolveData(String locale) {
Map<String, Object> enUSLabel = null;
locale = locale!= null && !locale.isEmpty() ? locale: EN_US;
for (Map<String, Object> picklistLabel : labelList) {
if (picklistLabel.get(LOCALE).equals(locale)) {
return picklistLabel;
} else if (EN_US.equals(picklistLabel.get(LOCALE))) {
enUSLabel = picklistLabel;
}
}
return enUSLabel;
}
我遇到声纳问题(在enUSLabel=picklistLabel;)
正确性-此方法在找到相等条件后继续循环 在基于等式的if条件中查找并设置变量后,此方法继续循环,而不会中断循环。由于继续循环似乎不太可能再次找到该项目,因此此时中断似乎是正确的操作
如何纠正?在一个for循环中可能吗
# 1 楼答案
用
return picklistLabel
替换enUSLabel = picklistLabel