java 可选检查空值
java Optional checking nulls
印象中Optional.ofNullable(response.getSubscriber())也可以判断对象响应是否为null,但是不能
是否有更好的方法来检查响应和 response.getSubscriber 是否存在?
public Subscriber generateSubscriber(SPRGetSubscriberResponse response) {
if (response != null) {
Optional<SPRSubscriber> option = Optional.ofNullable(response.getSubscriber());
if (option.isPresent()) {
Subscriber subscriber = new Subscriber();
//...copy members from response to subscriber
return subscriber;
}
}
return null;
}
您将条件句和 Optional
混合在一起,既显得笨拙又 none 流畅。要仅使用基本功能,不 Optional
:
if (response != null && response.getSubscriber != null)
在Groovy中:
response?.subscriber // null-safe navigation to collapse your conditional
与 Java 8 善良:
return Optional.ofNullable(response)
.map(SPRGetSubscriberResponse::getSubscriber)
.map(original -> { /* return the copied version */ })
.orElse(null);
印象中Optional.ofNullable(response.getSubscriber())也可以判断对象响应是否为null,但是不能
是否有更好的方法来检查响应和 response.getSubscriber 是否存在?
public Subscriber generateSubscriber(SPRGetSubscriberResponse response) {
if (response != null) {
Optional<SPRSubscriber> option = Optional.ofNullable(response.getSubscriber());
if (option.isPresent()) {
Subscriber subscriber = new Subscriber();
//...copy members from response to subscriber
return subscriber;
}
}
return null;
}
您将条件句和 Optional
混合在一起,既显得笨拙又 none 流畅。要仅使用基本功能,不 Optional
:
if (response != null && response.getSubscriber != null)
在Groovy中:
response?.subscriber // null-safe navigation to collapse your conditional
与 Java 8 善良:
return Optional.ofNullable(response)
.map(SPRGetSubscriberResponse::getSubscriber)
.map(original -> { /* return the copied version */ })
.orElse(null);