簡體   English   中英

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM