美文网首页
Kotlin 学习三

Kotlin 学习三

作者: 攻城狮xhb | 来源:发表于2017-06-07 16:13 被阅读0次

一: Kotlin的when 使用

① 你可以像switch那样使用when,想象你有一个视图,基于视图可显示性显示提示。

when(view.visibility){
    View.VISIBLE -> toast("visible")
    View.INVISIBLE -> toast("invisible")
    else -> toast("gone")
}      // 在when中,else同switch的default

② 类型检查。

when (view) {
    is TextView -> toast(view.text)
    is RecyclerView -> toast("Item count = ${view.adapter.itemCount}")
    is SearchView -> toast("Current query: ${view.query}")
    else -> toast("View type not supported")
}

二: 关键字 in (范围操作符)

① 使用 in 运算符来检查某个数字是否在指定区间内。

if (i in 1..10) {     // 等价于 1 <= i && i <= 10
    println(i)
}

三: 关键字 is (检查某个实例是否是某个类型)

//obj在&&右边自动动转换成"String"类型 (重要的!!!)
fun getStringLength(obj: Any): Int? {
    if (obj is String && obj.length > 0)
        return obj.length
    return null
}

四:as? 安全转换

当使用 as 转型的时候,可能会经常出现 ClassCastException。 所以,现在可以使as?安全转型,当转型不成功的时候,它会返回 null。

val m: Int? = a as? Int
// 注:在使用intent传值的时候,会出现空字符串不能用as强制转型,这是应该使用as?

五:多行输入符 三个双引号

三引号的形式用来输入多行文本,也就是说在三引号之间输入的内容将被原样保留,之中的单号和双引号不用转义,其中的不可见字符比如/n和/t都会被保留。

val str = """ 
        one
        two
      """
// 等价于          
val str = "one\ntwo"       
val str =  "one" +"\n"+"two"

相关文章

网友评论

      本文标题:Kotlin 学习三

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