Java如何判断两个Long对象是否相等
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"Java如何判断两个Long对象是否相等"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java如何判断两个Long对象是否相等"文章能帮助大
千家信息网最后更新 2026年10月31日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安全错误
数据库的锁怎样保障安全
中国互联网科技股
互联网科技的
麻工互联网科技
奇酷互联网科技
互联网科技媒体
无线互联网科技
互联网女皇 腾讯科技
融势互联网科技
伴你行互联网科技有限公司
汉立互联网科技有限公司联系电话
互联网科技博主是什么意思
金融科技与互联网金融相同和不同
港股科技和互联网
米聚互联网科技南京有限公司排面
天津腾达互联网科技有限公司
互联网科技如何创业
广州有谷有贝互联网科技有限公司
互联网科技接地气
众联互联网络科技
宁波允成互联网科技有限公司
互联网科技公司简介
智网互联网科技
深圳互联网科技怎么样
科技与互联网的利与弊
昭通互联网科技选哪家
北京市互联网新科技
中国互联网有什么科技
银行科技岗属于互联网吗
长沙易易互联网科技有限公司
前海云享互联网科技