操作符優先級表
- 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.*