List<String> postNameList = new ArrayList<>();
sysUserPost.forEach(v->{
postNameList.add(
postService.getById(v.getPostId()).getPostName());
//getById()可能引发null
});
使用optional容错:
sysUserPost.forEach(v->{
String postName1 = Optional
.ofNullable(postService.getById(v.getPostId()))
.map(SysPost::getPostName)
.orElse(StringPool.EMPTY);//orElse可以把返回值改为字符串类型
postNameList.add(postName1);
});
return String.join(",", postNameList);
数组转字符串,最后会出现",职位一,职位二"
所以还是老老实实写if()判断T-T
sysUserPost.forEach(v->{
if(ObjectUtil.isNotNull(postService.getById(v.getPostId()))){
String postName1 = postService.getById(v.getPostId()).getPostName();
postNameList.add(postName1);
}
});
return String.join(",", postNameList);