如何使用 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;
}