element cannot be mapped to a null key的解決方法
報錯:
ERROR [o.a.c.c.C.[.[.[/sa].[dispatcherServlet]] - Servlet.service() for servlet [dispatcherServlet] in context with path [/sa] threw exception [Request processing failed; nested exception is java.lang.NullPointerException: element cannot be mapped to a null key] with root cause
java.lang.NullPointerException: element cannot be mapped to a null key
簡單來說,要加一個非空的過濾
原代碼:
Map<String, List<Device>> deviceMap = deviceList.stream().collect(Collectors.groupingBy(Device::getIp));
增加一個非空判斷
Map<String, List<Device>> deviceMap = deviceList.stream()
.filter(item-> StringUtils.isNotBlank(item.getIp())).collect(Collectors.groupingBy(Device::getIp));
就解決了
需要注意其他的地方會不會影響到