Java如何判断两个Long对象是否相等
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要介绍"Java如何判断两个Long对象是否相等"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java如何判断两个Long对象是否相等"文章能帮助大
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
番禺区光纤网络技术开发展示
青岛网络安全产业项目
office数据库能做什么
java数据库接口视频
网络安全的十大漏洞
ps数据库进不去
网络安全周发言200字
长垣网络安全宣传片
腾讯企业邮账号服务器
多线程在软件开发中的作用
网络安全新技术拓展工程师
设置代理服务器不安全
教科版网络技术应用教学设计
三级数据库技术有考原题吗
数据库中的数据乱码
服务器的流量包是什么意思
员工网络安全责任书
网络技术中心电话
软件开发阶乘
服务器hdd如何亮灯
网络安全具体职业要求
服务器建造别墅
重庆网络安全招标项目
打电话不能连接到服务器
恋爱app软件开发目的
深县网络技术考卷
硬件及网络技术如何填写
教育随笔网络安全
服务器里面的wps保存出错
诊断仪软件开发