我一直在使用此代码:
Event rEvent = new Event();
Map<Long, Message> msgMap = getMsg();
Message msg = msgMap.get(rEvent.getMsgId());
Long id = Optional.ofNullable(rEvent.getPkId()).orElse(msg.getPkId());
Run Code Online (Sandbox Code Playgroud)
假设rEvent.getPkId()和 msg 都是null。所以Optional.ofNullable(rEvent.getPkId())会被跳过,然后orElse被执行。这里抛出NPE. 如何使用Optional.ofNullable多个空检查重新编码?