Kotlin的==与===

kotlin是一种全新的编程语言,不仅仅可以编写Java/JVM平台的代码,也可以编写js代码,甚至可以编写本地代码。
本文不过多赘述kotlin的语言特性,只讲一个重点,就是讲述=号的区别。
简单一点,就是equals方法,而=就是比较是否为同一对象。也就是说,相当于Java的equals方法,而=相当于Java的==。
这是kotlin的运算符重载,在kotlin中,equals方法视为对==运算符的重载。
为了证明这点,我写了一个类,这个类的equals方法永远返回false。

package test

class User(){
    override fun equals(other: Any?): Boolean {
        println("调用equals")
        return false
    }
}

那么我就可以在main函数里证明了

fun main(args:Array<String>) {
    var user = User()
    println("user==user:${user==user}")
    println("==完毕")
    println("user===user:${user===user}")
}

运行结果是
调用equals
useruser:false
完毕
user
=user:true
可见,进行
判断时,会调用equals方法,打印出的调用equals追踪语句就证明了这一点,而对于同一对象,===确实返回true。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值