Java如何判断两个Long对象是否相等
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍"Java如何判断两个Long对象是否相等"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java如何判断两个Long对象是否相等"文章能帮助大
千家信息网最后更新 2025年12月01日Java如何判断两个Long对象是否相等
这篇文章主要介绍"Java如何判断两个Long对象是否相等"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java如何判断两个Long对象是否相等"文章能帮助大家解决问题。
抛出问题:
Long a = 4l;Long b = 4l;a == b //true
Long a = 128l;Long b = 128l;a == b //false
如果Long的值在[-127,128]之间,用"=="判断是否相等是没问题的,如果不在这个区间,是不能用"=="的,原因如下源码解释:
public static Long valueOf(long l) { final int offset = 128; if (l >= -128 && l <= 127) { // will cache return LongCache.cache[(int)l + offset]; } return new Long(l); }如果不在[-127,128]之间,则会new一个新对象,自然"=="两个不同的对象,其结果必然是false了。
解决方案:
1、使用Long中的longValue()进行转换
Long a = 128l;Long b = 128l;a.longValue() == b.longValue() //true
2、使用Long中的equals()
Long a = 128l;Long b = 128l;a.equals(b);//true
下面是该方法源码:
public boolean equals(Object obj) { if (obj instanceof Long) { return value == ((Long)obj).longValue(); } return false; }两个Long类型比较存在的坑
一般来说,两个基本数据类型比较用 "==" 就可以了,平时很少用Long类型比较。
但是最近写项目时遇到了两个Long类型比较,当时也是直接用的双等于,然而当debug时却发现代码执行到这两个Long类型比较判断时并没有进入这个判断体内,然后上网搜索相关的问题, 其实很简单,但是不知道的话就很很容易入坑。
解决方法具体如下:
可以让两个Long类型的变量分别调用 ==longValue()== 方法来实现就可以了。
代码:
Long a=...;Long b=...;if (a.longValue() == b.longValue()) { ...;}其实Long是java数据包装类的一种,以上属于包装类Long转化为基本数据类型long的情况,以下列举其它数据包装类拆箱转化为基本数据类型的情况:
Integer转为int,需要调用intValue()方法
Double转为double,需要调用doubleValue()方法
Float转为float,需要调用floatValue()方法
关于"Java如何判断两个Long对象是否相等"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
两个
类型
方法
对象
数据
问题
知识
包装
不同
之间
代码
情况
源码
行业
实用
一般来说
内容
区间
原因
变量
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
招远微信小程序软件开发外包公司
网络普法包括网络安全吗
数据库的基本对象
互联网科技行业大会
数据库中什么情况下使用多表连接
信阳网络安全攻防对抗技术挑战赛
质检 网络安全
开发者工具修改数据库
工控网络安全解决方案
互联网人士谈科技
陈娟 应用软件开发
原神之后服务器会合并吗
sql数据库常用端口号
浙江筱满互联网科技评价
战地1服务器选什么
数据库中表怎么知道路径
软件开发中占多少成本
在数据库中一对一
虚拟服务器不需要物理服务器吗
服务器什么情况下能热插拔
汽车软件开发bms
数据库加密技术的功能
如何查看数据库报文
网络安全模式杀毒的好处
软件开发进展怎么写
网络安全PMI的名词解释
制造企业库存管理软件开发
网络安全管理是指在信息
代理服务器 原理
为仫请求服务器是