java.lang.IllegalStateException: Duplicate key 0 empCodeMap = empList.stream() .filter(dto -> StringUtils.isNotBlank(dto.getEmpCode())) // 过滤掉空的对象 .collect(Collectors.toMap(OrgUnitEmpProDto::getEmpCode, dto -> StringUtils.isNotBlank(dto.getIsMain()) ? dto.getIsMain() : "-"));
时间: 2024-03-01 10:50:03 浏览: 126
Java异常之—-Caused by: java.lang.IllegalStateException: Method has too many Body parameters
这个异常是由于使用Collectors.toMap()方法时,存在重复的key导致的。你可以检查一下empList中是否有重复的empCode,或者尝试使用另一个带有mergeFunction参数的toMap()方法,例如:
```
empCodeMap = empList.stream()
.filter(dto -> StringUtils.isNotBlank(dto.getEmpCode()))
.collect(Collectors.toMap(OrgUnitEmpProDto::getEmpCode,
dto -> StringUtils.isNotBlank(dto.getIsMain()) ? dto.getIsMain() : "-",
(oldValue, newValue) -> newValue));
```
其中,mergeFunction指定了当存在重复的key时,选择保留新值。
阅读全文