kotlin - 可空布尔值的 Kotlin 箭头
问题描述
我有很多类型检查,if (obj?.bool == true)
因为布尔值可以为空。例如用 Arrow 替换它的更优雅的方法是什么?
解决方案
假设您询问的是Boolean?
(一个可为空的布尔值),那么您不需要 Arrow,这个简单的 Kotlin 代码可以工作:
if (bool?:false) {
// This code is run only if bool is not null and true
} else {
// This code is run if bool is null or false
}
如果您要询问Object?
具有布尔 val 属性的(可为空的对象),那么等效代码将是:
if (obj?.bool?:false) {
// This code is run only if obj is not null and obj.bool is true
} else {
// This code is run if obj is null or obj.bool is false
}
推荐阅读
- php - 如何要求 PHP.serialize 能够验证 webhook?(Ruby on Rails 5)
- php - count():参数必须是数组或者实现了Countable的对象
- opencv - 缺少必需的参数“outImage”(位置 3)
- types - ReasonML 类型与相同类型不匹配
- jenkins - Jenkins 没有完全解析变量值
- spring-boot - Spring Kafka Listener - 事务无法正常工作
- python - DjangoAdmin has_delete_permission 从另一个管理类执行
- r - 用 r 中的变量重复行
- sql - 提取两个/字符之间的文本
- node.js - 如何在nodejs中解码Base64字符串并作为图像上传到亚马逊s3?