Kotlin 为空的判断

1、?: kotlin.run

注意:必须先写run 带出Kotlin。

//对象为空判断
var chapterBean = list.find { it.chapter_id == currentChapterId}
                        chapterBean?.let { it1 ->
                           //chapterBean不为null执行正常逻辑....
                        } ?: kotlin.run{
                            //chapterBean为null执行其它逻辑....
                        }

2、?: run

注意:必须先写run 。

      //对象为空判断
        var chapterBean = list.find { it.chapter_id == currentChapterId }
        chapterBean?.let { it1 ->
            //chapterBean不为null执行正常逻辑....
        } ?: run {
            //chapterBean为null执行其它逻辑....
        }

3、也可以多层判断

注意:?.let { }只能过滤null,不能过滤空字符串。

      //对象为空判断
        var chapterBean = list.find { it.chapter_id == currentChapterId }
        chapterBean?.let { it1 ->
            //返回最后一行
            //chapterBean不为null执行正常逻辑....
        }?.also {
            //返回本身
        }?.apply {
            //返回本身
        }?.run {
            //返回最后一行
        } ?: run {
            //chapterBean为null执行其它逻辑....
        }

4、kotlin 中?.为什么不能过滤空字符串?

在 Kotlin 中,使用 ?. 运算符可以在对象不为空时调用其属性或方法,否则返回 null。但是,它并不会过滤空字符串,因为空字符串仍然是一个有效的字符串对象,它的长度为 0。如果要过滤空字符串,可以使用 filter() 函数或者判断字符串是否为空字符串来实现。
例如:

val list = listOf("", "hello", "", "world", "")
val filteredList = list.filter { it.isNotEmpty() }
println(filteredList) // 输出 [hello, world]

在上面的例子中,使用 filter() 函数过滤掉了空字符串。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 大家好,我是光源。 近来关于 Kotlin 的文章着实不少,Google 官方的支持让越来越多的开发者开始关注 K...
    光源_Android阅读 7,512评论 1 3
  • Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿An...
    玖玖君阅读 12,238评论 0 8
  • Java的辉煌与阴影 1995年,当年如日中天的Sun公司发布了Java语言,引起了巨大的轰动,与当时主流的C语言...
    private_object阅读 3,017评论 0 0
  • Google在今年的IO大会上宣布,将Android开发的官方语言更换为Kotlin,作为跟着Google玩儿An...
    蓝灰_q阅读 77,133评论 31 489
  • 1. 空安全 在 Java 不用强制我们处理空对象,所以常常会导致 NullPointerException 空指...
    風清雲少阅读 5,759评论 0 0

友情链接更多精彩内容