use*_*er7 7
假设您没有对返回的对象做任何事情,您可以使用ifPresent
并传递一个Consumer
nullableObject.ifPresent(obj -> {
if (!"A".equals(obj.getStatus())) {
throw new BusinessUncheckedException("exception message");
}
});
注意:正如@Pshemo 在评论中提到的,Consumer
功能接口的合同只允许抛出 RuntimeExceptions。
否则,您最好使用前面提到的if检查。
IMO,使用filter
on Optional 进行此类检查并不是那么可读/直观。我会比较喜欢,
if (obj != null && !"A".equals(obj.getStatus())) {
throw new BusinessUncheckedException("exception message");
}
更多推荐
可选,过滤器,Java
发布评论