java - 检查对象的结果是否为非 null 然后转换为布尔值并在 Java 中设置的简短版本
问题描述
我一直在寻找 Java 中以下语句的简短版本:
if(headers.get(BinderHeaders.NATIVE_HEADERS_PRESENT) !=null ) {
record
.setNativeHeadersPresent((boolean) headers.get(BinderHeaders.NATIVE_HEADERS_PRESENT));
}
如果我想使用Optional.ofNullable
它不起作用,因为我还需要将对象转换为布尔值。
PS:我正在使用Java8。
解决方案
这不是什么Optional.ofNullable
,但我会分享它是如何完成的,因为我喜欢方法引用。
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")
)
);
推荐阅读
- sql - Oracle - 转换日期时间格式
- python - Django:for循环和if条件在一行
- java - Spring Boot:计算页面浏览量 - 执行器
- node.js - 在 Node.js 中检测网站是否有电子商务
- python - “顺序”对象没有属性“损失” - 当我使用 GridSearchCV 调整我的 Keras 模型时
- wordpress - 运行广告活动时,在 wordpress 中轮换多个 URL 的最佳方法是什么?
- flutter - 添加flutter firebase_admob后启动时应用程序崩溃
- java - spring-boot-starter-amqp.1.7.4.Release 无法停止
- java - 如何将加密的私钥字符串转换为java对象
- c# - WPF 方形单元格