文章目录
一切先从源码开始
Any.kt
package kotlin
/**
* 所有kotlin类的父类,相当于java中的object类
*/
public open class Any {
/**
*对象是否相等
* 判断条件:
* 1.任何不为null的变量x, `x.equals(x)` 将返回 true.
* 2. 任何不为null的变量 `x` 和 `y`, 当且仅当 `y.equals(x)` 返回true 时,`x.equals(y)`也会返回true.
* 3.任何不为null的变量 `x`, `y`, and `z`, 当 `x.equals(y)` 和 `y.equals(z)` 都返回true, 则`x.equals(z)` 也会返回true.
* 4.任何不为null的变量`x` and `y`, 多次调用`x.equals(y)` 是,变量未发生任何的修改,都一直返回true或者一直返回false
* 5.任何不为null的变量 `x`, `x.equals(null)`