Kotlin学习笔记5-6 其他-相等

本文详细介绍了Kotlin中两种相等性的概念及其使用方式:结构相等通过`==`操作符或`equals()`方法实现,用于比较两个对象的内容是否相同;引用相等则通过`===`操作符实现,用于判断两个变量是否指向同一个对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相等

Kotlin官网:Other-Equality
Kotlin中有两种相等:

  • 结构相等,使用equals()函数实现;
  • 引用相等,判断两者指向的是否为同一对象

结构相等

==相等,!=不相等,a == b会被转换成:

a?.equals(b) ?: (b === null)

当a不为null时,会调用a的equals(Any?)函数,为null时,判断b是否也为null。
对于和null比较的情况,既a == null,会自动当做a === null处理。

浮点数相等

当静态分配为Float或Double型,非空和可空都行,执行《IEEE 745》标准。
当作为其他类型时,NaN认为和NaN相等,0.0和-0.0不相等,详见2-1基本类型,浮点数比较。

引用相等

===相等,!==不相等,a === b在a和b指向同一对象时为true。
对于基本类型,如Int,=====效果相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值