appMap = appManageList.stream().collect(Collectors.toMap(AppManage::getId, AppManage::getName)); 如果appManageList为空是否会报错
时间: 2024-02-20 12:59:48 浏览: 137
java8新特性之stream的collect实战教程
5星 · 资源好评率100%
如果appManageList为空,使用这行代码会抛出一个`java.lang.NullPointerException`异常。这是因为`Collectors.toMap`方法不允许键或值为空。如果appManageList可能为空,可以使用Java 8中的Optional类来避免出现空指针异常,示例如下:
```
appMap = Optional.ofNullable(appManageList)
.orElse(Collections.emptyList())
.stream()
.collect(Collectors.toMap(AppManage::getId, AppManage::getName));
```
这个示例中,我们使用Optional.ofNullable方法来包装appManageList,如果它是null,我们就用一个空的List代替。然后,我们使用stream方法将List转换为Stream,最后使用Collectors.toMap方法将其转换为Map。这样,即使appManageList为空,也不会出现空指针异常。
阅读全文