如何使用 Optionals 而不是嵌套的 if 语句?
How can I use Optionals instead of nested if statement?
public Message setMsg() {
Message message = null;
if (send != null || receive != null) {
message = new Message();
if (receive != null) {
message.setReceive(receive);
}
if (send != null) {
message.setSend(send);
}
}
return message;
}
在这种情况下如何使用 Optionals 而不是这个嵌套的 if 语句?
不清楚您要实现的目标,但如果发送和接收是 Optional
个对象,您可以这样做:
public Message setMsg() {
if (!send.isPresent() && !receive.isPresent()) {
return null;
}
Message message = new Message();
send.ifPresent(message::setSend);
receive.ifPresent(message::setReceive);
return message;
}
public Message setMsg() {
Message message = null;
if (send != null || receive != null) {
message = new Message();
if (receive != null) {
message.setReceive(receive);
}
if (send != null) {
message.setSend(send);
}
}
return message;
}
在这种情况下如何使用 Optionals 而不是这个嵌套的 if 语句?
不清楚您要实现的目标,但如果发送和接收是 Optional
个对象,您可以这样做:
public Message setMsg() {
if (!send.isPresent() && !receive.isPresent()) {
return null;
}
Message message = new Message();
send.ifPresent(message::setSend);
receive.ifPresent(message::setReceive);
return message;
}