
获得徽章 0
java 的Optional使用存在问题
代码逻辑有问题 :
// 或者使用orElse()提供默认值
takeawayGoods.setPicture(dto.getPhotos().orElse(Collections.emptyList()).stream()
.filter(f->f.getIsMaster()==1)
.findFirst()
.orElse(new Photo()).getUrl());
正确写法应该是这样:
takeawayGoods.setPicture(Optional.ofNullable(dto.getPhotos()).orElse(Collections.emptyList()).stream()
.filter(f->f.getIsMaster()==1)
.findFirst()
.orElse(new EbGoodsInfoDTO.Photo()).getUrl());
代码逻辑有问题 :
// 或者使用orElse()提供默认值
takeawayGoods.setPicture(dto.getPhotos().orElse(Collections.emptyList()).stream()
.filter(f->f.getIsMaster()==1)
.findFirst()
.orElse(new Photo()).getUrl());
正确写法应该是这样:
takeawayGoods.setPicture(Optional.ofNullable(dto.getPhotos()).orElse(Collections.emptyList()).stream()
.filter(f->f.getIsMaster()==1)
.findFirst()
.orElse(new EbGoodsInfoDTO.Photo()).getUrl());
展开
评论
1