Skip to content

Latest commit

 

History

History
65 lines (55 loc) · 1.62 KB

cao_zuo_fu_biao.md

File metadata and controls

65 lines (55 loc) · 1.62 KB

操作符表

这里你可以看见一系列包括操作符对应方法的表。对应方法必须在指定的类中通过各种可能性被实现。

一元操作符

| 操作符 | 函数| |----| | +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.plusAssign(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) |