天天看點

kotlin-小抄(二)操作符和重載

操作符優先級表

kotlin-小抄(二)操作符和重載
  • 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.*