我一直在寻找以下 Java 语句的简短版本:
if(headers.get(BinderHeaders.NATIVE_HEADERS_PRESENT) !=null ) {
record
.setNativeHeadersPresent((boolean) headers.get(BinderHeaders.NATIVE_HEADERS_PRESENT));
}
如果我想使用 Optional.ofNullable
它不起作用,因为我也需要将对象转换为 boolean 值。
P.S: 我使用的是 Java8。
最佳答案
It's not what Optional.ofNullable
for ,但我会分享它是如何完成的,因为我喜欢方法引用。
Optional.ofNullable(headers.get(BinderHeaders.NATIVE_HEADERS_PRESENT))
.map(boolean.class::cast)
.ifPresent(record::setNativeHeadersPresent);
因为你有一个 Map<String, String>
, Map#getOrDefault
可能是一种选择。
record.setNativeHeadersPresent(
Boolean.parseBoolean(
headers.getOrDefault(BinderHeaders.NATIVE_HEADERS_PRESENT, "false")
)
);
关于java - 检查对象的结果是否不为空然后转换为 boolean 值并在 Java 中设置的简短版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57734488/