操作符优先级表
- eg:重载操作符
data class Counter(var index : Int)
// 实现重载必须使用operator修饰符修饰一个从重载操作符函数
operator fun Counter.plus(increment : Int) :Counter {
return Counter(index + increment)
}
使用
val counter = Counter(1)
val resul = counter.plus(10)
println(result)
相等和不相等操作符
- 引用相等 (不可重载)
- ===
- !==
- 结构相等
- ==
- !=
a == b <=> a?.equals(b)?:(b===null)
a != b <=> !(a?.equals(b)?:(b===null))
Elvis操作符 ?:
- 精简版的三元运算符
- 主要用来做null安全检查
result = x ?: 0 <=> val result = if (x!==null) x else 0
包声明
- JVM平台会默认导入下面的包
java.lang.*
kotlin.jvm.*
- js平台上会默认导入下面的包
kotlin.js.*