美文网首页Kotlin知识点
Kotlin Elvis运算符 ?: (代替null的默

Kotlin Elvis运算符 ?: (代替null的默

作者: 南窗云 | 来源:发表于2018-08-12 17:14 被阅读0次

Elvis运算符 ?:

又称 null 合并运算符。

功能:
接受两个运算数,
若第一个运算数不为null,运算结果就是第一个运算数;
若第一个运算数为null,运算结果就是第二个运算数。

ps:有点像简化版的三目运算符

代码

fun converterToHistory(items: List<HomeworkQuery.History_commit>?): String? {
    var jsonArray = JSONArray()
    items?.map {
        var jsonObject = JSONObject()
        jsonObject.put("content", if (it.content().isNullOrEmpty()) "" else it.content())
        jsonObject.put("finish_at", if (it.finished_at().isNullOrEmpty()) "" else it.finished_at())
        jsonObject.put("type", if (it.type().isNullOrEmpty()) "" else it.type())    
        jsonArray.put(jsonObject)
    }
    return jsonArray.toString()
}

使用 Elvis运算符 ?: 之后,代码简化很多!

fun converterToHistory(items: List<HomeworkQuery.History_commit>?): String? {
    var jsonArray = JSONArray()
    items?.map {
        var jsonObject = JSONObject()
        jsonObject.put("content", it.content() ?: "")
        jsonObject.put("finish_at", it.finished_at() ?: "")
        jsonObject.put("type", it.type() ?: "" )
        jsonArray.put(jsonObject)
    }
    return jsonArray.toString()
}

相关文章

  • Kotlin Elvis运算符 ?: (代替null的默

    Elvis运算符 ?: 又称 null 合并运算符。 功能:接受两个运算数,若第一个运算数不为null,运算结果就...

  • [Kotlin] Elvis表达式中的神坑

    在Kotlin中大家会用{} ?: {}来代替? {} : {}表达式使用,?:被称为Kotlin的Elvis表达...

  • 2020-09-30

    复合符号[Elvis 运算符] 单例模式 @JvmOverloads注解在Kotlin中@JvmOverloads...

  • Kotlin基础学习记录一

    ?.安全调用运算符 ?: Elvis运算符(null 合并运算符) 使用?:运算符可以检查当检查结果为空的时候的返...

  • Kotlin學習筆記(一)

    kotlin類型安全 kotlin常用操作符 Elvis操作符 ?:如果?:左邊表達式非空,elvis返回左邊結果...

  • Kotlin实战学习笔记(七 约定)

    重载算术运算符 重载算术运算符 Kotlin没有提供位运算符,用下面方式代替 重载复合赋值运算符通常定义了plus...

  • Kotlin-类型转换

    空安全类型 在实际开发中,会经常碰到空值的情况,空值在 Kotlin 中表示为null。 在 Kotlin 中,默...

  • C#null运算符

    null运算符 ==C#提供了三个简化null处理的运算符== null合并运算符 null合并赋值运算符 nul...

  • Kotlin 安全运算符 ?. 与 let 函数 及 Elv

    1. 安全运算符 ?. 与Elvis运算符 ?: 配合使用 上述代码 等价于 如下代码 : 安全运算符 ?. El...

  • Kotlin可空性探索

    目录介绍 01.可空性 02.安全调用运算符:?. 03.Elvis运算符:?: 04.安全转换运算符:as? 0...

网友评论

    本文标题:Kotlin Elvis运算符 ?: (代替null的默

    本文链接:https://www.haomeiwen.com/subject/glnsbftx.html