Java中,比较Long类型是否相等,可以使用“==”和“equals()”方法。
一、使用“==”进行比较
在Java中,"=="用于比较两个基本数据类型或两个引用数据类型是否指向同一对象。对于Long类型的封装类,由于它们的值在-128到127之间时会被缓存,因此这些值相同的Long型对象会指向同一个对象,使用"=="比较会返回“true”。但是,超出这个范围的值创建的Long型对象不是同一个对象,即使值相同,使用"=="也会返回“false”。
Long a = 128L;
Long b = 128L;
System.out.println(a == b); // 输出false
Long a = 127L;
Long b = 127L;
System.out.println(a == b); // 输出true
二、使用“equals()”进行比较
另一种比较Long类型的相等性的方式是使用“equals()”方法。"equals()"方法会比较两个Long对象的数值是否相等,而不是比较是否指向同一个对象。因此,无论Long对象的值在何种范围内,只要值相等,使用"equals()"方法比较都会返回“true”。
Long a = 128L;
Long b = 128L;
System.out.println(a.equals(b)); // 输出true
Long a = 127L;
Long b = 127L;
System.out.println(a.equals(b)); // 输出true
三、基本类型与封装类之间的比较
还有一个需要注意的点是,基本类型和封装类之间使用"=="比较的时候,会进行自动拆箱操作。也就是说,会把封装类转成基本类型进行数值的比较。因此,不论数值是否在-128到127之间,基本类型和封装类之间的"=="比较总会返回正确的结果。
long a = 128L;
Long b = 128L;
System.out.println(a == b); // 输出true
long a = 127L;
Long b = 127L;
System.out.println(a == b); // 输出true
沃梦达教程
本文标题为:Java中比较Long类型是否相等
基础教程推荐
猜你喜欢
- java基础知识之FileInputStream流的使用 2023-08-11
- springboot自定义starter方法及注解实例 2023-03-31
- Java并发编程进阶之线程控制篇 2023-03-07
- Java数据结构之对象比较详解 2023-03-07
- Java实现线程插队的示例代码 2022-09-03
- Java文件管理操作的知识点整理 2023-05-19
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02
- java实现多人聊天系统 2023-05-19
- Java实现查找文件和替换文件内容 2023-04-06
- JDK数组阻塞队列源码深入分析总结 2023-04-18