【发布时间】:2020-09-08 23:40:27
【问题描述】:
我的方法中有以下逻辑,我检查可选参数的值,并根据它构建另一个对象。
AtomicReference<Employee> employeeValue = null;
questions.forEach(question -> {
if(question.isBoolean().isPresent()) {
employeeValue.set(Employee.builder()
.withBooleanValue(Boolean.valueOf(question.value()))
.build());
} else {
employeeValue.set(Employee.builder()
.withStringValue(question.value())
.build());
}
Record record = Record.builder()
.withId(question.id())
.withValue(employeeValue.get())
.build();
answers.add(record);
});
如何用 ifPresent 和 orElse 替换上述内容?我正在使用 Java 8,因此 ifPresentOrElse 方法不可用。如果我将 ifPresent 和 orElse 分别与匿名内部函数一起使用,我该怎么做?
任何帮助将不胜感激。
【问题讨论】:
标签: java if-statement lambda optional