Java 11 中的高效空值检查
Efficient null check in Java 11
我需要使用一个 getter,它在对象中向下 3 层。
response.getServiceError().getErrorCode()
一个或多个对象可能为 NULL。现在,我正在这样做
if (response != null && response.getServiceError() != null && response.getServiceError().getErrorCode() != null && response.getServiceError().getErrorCode().equals("errCode123")) {
//doSomething;
}
是否有更好的 and/or 优雅的方式来构建 if 条件?
使用Optional
!
Optional.ofNullable(response)
.map(Response::getServiceError)
.map(ServiceError::getErrorCode)
.filter(code -> code.equals("errCode123"))
.ifPresent(code -> {
// doSomething
});
我需要使用一个 getter,它在对象中向下 3 层。
response.getServiceError().getErrorCode()
一个或多个对象可能为 NULL。现在,我正在这样做
if (response != null && response.getServiceError() != null && response.getServiceError().getErrorCode() != null && response.getServiceError().getErrorCode().equals("errCode123")) {
//doSomething;
}
是否有更好的 and/or 优雅的方式来构建 if 条件?
使用Optional
!
Optional.ofNullable(response)
.map(Response::getServiceError)
.map(ServiceError::getErrorCode)
.filter(code -> code.equals("errCode123"))
.ifPresent(code -> {
// doSomething
});