Kotlin 其他(六) --- 相等性(Equality)
来源:互联网 发布:b2b自动发布软件 编辑:程序博客网 时间:2024/06/06 03:56
1、相等性
Kotlin 中有两种类型的相等性:
- 引用相等(两个引用指向同一对象);
- 结构相等(用
equals()
检查)。
2、引用相等
引用相等由 ===
(以及其否定形式 !==
)操作判断。a === b
当且仅当 a
和 b
指向同一个对象时求值为 true。
3、结构相等
结构相等由 ==
(以及其否定形式 !=
)操作判断。按照惯例,像 a == b
这样的表达式会翻译成:
a?.equals(b) ?: (b === null)
也就是说如果 a
不是 null
则调用 equals(Any?)
函数,否则(即 a
是 null
)检查 b
是否与 null
引用相等。
请注意,当与 null
显式比较时完全没必要优化你的代码:a == null
会被自动转换为 a=== null
。
4、浮点数相等性
当相等性检测的两个操作数都是静态已知的(可空或非空的)Float
或 Double
类型时,该检测遵循 IEEE 754 浮点数运算标准。
否则会使用不符合该标准的结构相等性检测,这会导致 NaN
等于其自身,而 -0.0
不等于 0.0
。
参见:浮点数比较
阅读全文
0 0
- Kotlin 其他(六) --- 相等性(Equality)
- Kotlin-30.相等性(Equality)
- Kotlin语法(其他)
- Kotlin语法(六)
- effective stl 第19条:理解相等(equality)和等价(equivalence)的区别
- STL中容器相等(equality)和等价(equivalence)的区别
- kotlin学习笔记(六)
- Kotlin笔记(六)类
- Kotlin 其他(二) --- 集合(Collections)
- Kotlin 其他(三) --- 区间(Ranges)
- Kotlin 其他(九) --- 异常(Exceptions)
- Kotlin 其他(五) --- This 表达式
- Kotlin语法(六)-类和继承
- Kotlin学习笔记(六)扩展
- Kotlin笔记(六)——属性
- Kotlin入坑(六)函数
- Kotlin基础(六)接口、泛型
- linux(六)其他常用命令
- erlang 数据结构 --maps
- MQTT--mosquitto用户名密码配置
- selector socketChannel
- VS2017 C++ 无法打开源文件: “SDKDDKVer.h”, "stdio.h", "tchar.h"
- 【web前端】HTML5抽奖转盘demo学习笔记
- Kotlin 其他(六) --- 相等性(Equality)
- 军训
- 导出数据时,将数值型转换为字符串
- tomcat做成服务以及内存设置
- 单例模式-静态内部类Demo
- 一个jsp引入另一个jsp页面的方式
- nginx整合多个tomcat现实负载均衡
- Sql语句为什么大写
- 内容回顾