为了提高代码质量,我想稍微重构一下我的代码,以便在循环中只使用一个
以下是我的代码:
我希望做同样的事情,但只使用一个
有什么想法吗?
谢谢。
break
语句。但是我不确定我是否可以按照SonarQube的要求这样做...以下是我的代码:
for (Integer integer: integerKey.keySet()) {
if (map.containsKey(integerKey.get(integer))) {
TypeValue value = map.get(integerKey.get(integer));
sb.append(integerKey.get(integer)).append(":");
sb.append(encodeValue(value));
sb.append("|");
if (integerKey.get(integer).equals(min)) {
break;
}
} else if (integerKey.get(integer) <= min){
TypeValue value = map.get(min);
sb.append(min).append(":");
sb.append(encodeValue(value));
sb.append("|");
break;
} else {
sb.append(integerKey.get(integer)).append(":");
sb.append("0");
sb.append("|");
}
}
我希望做同样的事情,但只使用一个
break
,但我不确定在这种情况下是否可以仅编写一个if
条件来代替if-elseif-else
。有什么想法吗?
谢谢。
integerKey.get(integer)
可以被“缓存”,这样你就不必在每次迭代中多次查找了。最好使用 entry set,只需获取 entry 的键和值,就像 Puce 已经说过的那样。 - Thomas