kotlin
空类型
任意类型都有可空和不可空两种
val notNull:String = null //错误,不能为空
val nullable:String? = null //正确,可以为空
notNull.length //正确,不为空的值可以直接使用
Nullable.length //错误,可能为空,不能直接获取长度
Nullable!!.length //正确,强制认定nullable不可空
Nullable?.length //正确,若nullable为空,返回空
智能类型转换
java style 类型转换
val sub:subClass = parent as subClass
类似于java的类型转换,失败则抛出异常
安全类型转换
val sub :subClass = parent as? subClass
如果转换失败,返回null,不抛出异常
Lamdba表达式
- 写法:{[参数列表] -> [函数体,最后一行是返回值 ]}
var还是val?
- 原则:如果两种方式都能满足需求的情况下,优先使用val声明,因为一方面val声明的变量是只读,一旦初始化后不能修改,还可以避免程序运行时错误的修改变量的内容;另一方面在声明引用类型使用val,对象的引用不会被修改,但是引用内容可以修改,这样会更加安全,也符合函数式编程的技术要求。
Elvis运算符
- A ?: B 如果A不为空值则结果为A,否则结果为B。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 haominglfs的博客!
