这已经嵌套 for 循环并且 Sonar 正在抱怨。如果可以降低复杂性,我想使用流
for (String repository : repositories) {
UsageReportModel usageReportModel = (UsageReportModel) results.get(repository);
if (usageReportModel != null) {
for (UsageReportCategoryModel categoryModel : usageReportModel.getCategories()) {
if (SUBSCRIBER_DATASET_CATEGORY.equalsIgnoreCase(categoryModel.getName())) {
for (UsageReportCategoryModel subCategoryModel : categoryModel.getSubCategories()) {
if (datasets.get(subCategoryModel.getName()) != null) {
datasets.get(subCategoryModel.getName()).addConsumedStorage(subCategoryModel.getUsage());
}
}
}
if (SUBSCRIBER_DATASET_CATEGORY_PREVIOUS.equalsIgnoreCase(categoryModel.getName()) && datasets.get(SUBSCRIBER_DATASET_OTHER) != null) {
datasets.get(SUBSCRIBER_DATASET_OTHER).addConsumedStorage(categoryModel.getUsage());
}
}
}
}