kotlin复合符号
-
?.
foo?.barif(foo!=null) { return foo.bar }else { return null }
-
? 可空类型与非空类型
Kotlin 的类型系统旨在消除来自代码空引用的危险foo? var foo?="abc" foo=null 编译成功 foo可为空 var foo="abc" foo=null 编译失败 foo不可以为空
-
?:
foo?:barif(foo!=null) { foo } else { bar } foo?.length?:-1
-
!! 非空断言运算符
foo!!if(foo!=null) { foo }else { return NullPointerException }
-
as?
为了避免泡醋一场,可以使用安全转换操作符as?,它可以在失败时返回nullfoo as? type if(foo is Stype) { foo as Type }else { null }
-
as
- 强制类型转换
val x: String = y as String 通常,如果转换是不可能的,转换操作符会抛出一个异常。因此我们成指为不安全的。 val x: String? = y as String? 为了避免抛出异常,可以使用安全转换操作符 as?,它可以在失败时返回 null: val x: String? = y as? String
- 导入别名
import foo.Bar // Bar 可访问 import bar.Bar as bBar // bBar 代表“bar.Bar” ```
- 强制类型转换
$在字符串模版中引用变量或者表达式
: 分割声明重的名称与类型
..创建一个区间
:: 创建一个成员饮用或者一个类引用