這是之前看到别人整理的一篇,覺得挺全面放進筆記裡了,不過原文出處記不起來了。。。。
Kotlin學習筆記系列:http://blog.csdn.net/column/details/16696.html
一進制操作符
操作符 | 函數 |
+a | a.unaryPlus() |
-a | a.unaryMinus() |
!a | a.not() |
a++ | a.inc() |
a– | a.dec() |
二進制操作符
操作符 | 函數 |
a + b | a.plus(b) |
a - b | a.minus(b) |
a * b | a.times(b) |
a / b | a.div(b) |
a % b | a.mod(b) |
a..b | a.rangeTo(b) |
a in b | a.contains(b) |
a !in b | !a.contains(b) |
a -= b | a.minusAssign(b) |
a *= b | a.timesAssign(b) |
a /= b | a.divAssign(b) |
a %= b | a.modAssign(b) |
數組操作符
操作符 | 函數 |
a[i] | a.get(i) |
a[i, j] | a.get(i, j) |
a[i_1, …, i_n] | a.get(i_1, …, i_n) |
a[i] = b | a.set(i, b) |
a[i, j] = b | a.set(i, j, b) |
a[i_1, …, i_n] = b | a.set(i_1, …, i_n, b) |
等于操作符
操作符 | 函數 |
a == b | a?.equals(b) ?: b === null |
a != b | !(a?.equals(b) ?: b === null) |
相等操作符有一點不同,為了達到正确合适的相等檢查做了更複雜的轉換,因為要得到一個确切的函數結構比較,不僅僅是指定的名稱。方法必須要如下準确地被實作:
operator fun equals(other: Any?): Boolean
操作符===和!==用來做身份檢查(它們分别是 Java中的==和!=),并且它們不能被重載。
函數調用
方法 | 調用 |
a(i) | a.invoke(i) |
a(i, j) | a.invoke(i, j) |
a(i_1, …, i_n) | a.invoke(i_1, …, i_n) |