gpt4 book ai didi

java - 如何重构 map 转换操作

转载 作者:行者123 更新时间:2023-12-02 09:32:12 26 4
gpt4 key购买 nike

我写了一个关于将基本映射转换为另一个结构映射的逻辑,但是SonarLint评论它需要重构,这里是代码:

public static Map<List<String>, String> toStockMap(List<Map<String, Object>> rows) {
Map<List<String>, String> stockMap = new HashMap<>();
if (CollectionUtils.isEmpty(rows)) {
return stockMap;
}
for (Map<String, Object> row : rows) {
String stock = null;
String itemId = null;
String modelId = null;
for (Map.Entry<String, Object> cell : row.entrySet()) {
if (cell.getKey().equals("stock")) {
stock = cell.getValue().toString();
}
if (cell.getKey().equals("itemid")) {
itemId = cell.getValue().toString();
}
if (cell.getKey().equals("modelid")) {
modelId = cell.getValue().toString();
}
}
if (stock != null && itemId != null && modelId != null) {
stockMap.put(Arrays.asList(modelId, itemId), stock);
}
}
return stockMap;
}

以及下面的sonarlint评论: sonarlint

我应该如何改进呢?谢谢

最佳答案

您不需要枚举rowentrySet 来检查键是否存在。你可以大大简化它,比如

for (Map<String, Object> row : rows) {
Object stock = row.get("stock");
Object itemId = row.get("itemid");
Object modelId = row.get("modelid");
if (stock != null && itemId != null && modelId != null) {
stockMap.put(Arrays.asList(modelId.toString(), itemId.toString()),
stock.toString());
}
}

关于java - 如何重构 map 转换操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57863489/

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