首页 > 编程语言 >Java 中 为什么 Long 用== 有时候返回true 有时候事false

Java 中 为什么 Long 用== 有时候返回true 有时候事false

时间:2023-11-14 16:33:25浏览次数:29  
标签:判断 Java Long 127 128 有时候

今天做项目的时候一直跑不出想要的结果,最后才发现是一处判断语句出了问题。有两个Long类型的变量初始赋值都为10000,但用“==”来判断结果却是判断它们不相等。

Long中有⼀个静态的内部类LongCache,专门⽤于缓存-128⾄127之间的值,⼀共256个元素。如果值在[-128, 127]之间,会放在缓存⾥⾯,此时用“==”可以判断两个变量相等。⽽超过这个范围就要new⼀个新的对象,也就是说"=="不能判断对象是否相等。

后来改成equals()来判断,最终才运行成功。
————————————————
版权声明:本文为CSDN博主「padDio」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Ydin00/article/details/124991980

标签:判断,Java,Long,127,128,有时候
From: https://www.cnblogs.com/deepalley/p/17831947.html

相关文章

  • java带List实体的集合转换
     实体类publicclassPageResult<T>{intpage;intlimit;Longcount;Stringcode;stringmsg;List<T>data;Texample;publicPageResult(){}}  转换的utils/***list集合转换*@paramresultT转换前数据*@paramresultw转换后的实体类@paramclassW......
  • JavaWeb--Servlet
    Servlet专门用来开发动态web资源开发技术 导入servlet依赖坐标<dependencies><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><s......
  • JavaScript - js生成 txt 文件
    JavaScript-js生成txt文件/***方法定义*/functiondownload(filename,text){varelement=document.createElement('a');element.style.display='none';varcontent=encodeURIComponent(text);element.setAttribute('href&#......
  • Docker 部署 java应用
    创建DockerfileFROMopenjdk:8-jdk-alpine#前一个dns.jar为上传的jar包,后一个dns.jar是将服务器中jar包对应在容器中运行的jar包名称ADDdns.jardns.jar#容器暴露的端口号,需要与jar包在容器中运行使用端口号一致EXPOSE9999#容器启动之后执行的命令,java-jard......
  • day03 Java基础——各种运算符
    一、自增自减运算符、Math类publicclassDemo04{publicstaticvoidmain(String[]args){//++--自增,自减一元运算符inta=3;intb=a++;intc=++a;System.out.println(a);System.out.println(a);......
  • 秦疆的Java课程笔记:31 基础 包机制
    为了更好的组织类,Java提供了包机制,用于区别类名的命名空间。包语句的语法格式为:packagepkg1[.pkg2[.pkg3[…]]];一般利用公司域名倒置作为包名比如“百度”的域名“www.baidu.com”对应的包名应该是“com.baidu.www”为了能够使用某一个包的成员,我们需要在Java......
  • Java多线程面试题
    目录0、请你说说线程和进程的区别1、请你说说多线程2、说说CAS的ABA问题3、说说你对AQS(抽象队列同步器)的理解4、Java哪些地方使用了CAS5、说说怎么保证线程安全5、说说你了解的线程同步方式6、说说synchronized的用法及原理7、synchronized和Lock有什么区别8、说说Java......
  • Java登陆第六天——SQL之表复制,表去重,合并查询
    表复制简单说就是:插入数据的是一个子查询insertinto表名(子查询);栗子:复制pon表两次SQL语句:insertintopon(select*frompon);程序运行结果:表去重简单说就是:依靠另一张新表和distinct关键字+子查询insertinto表名(distinct+子查询);栗子:去重表ponSQL语......
  • java进阶漏洞学习----log4j漏洞学习笔记
    CVE-2021-44228log4j2漏洞版本范围2.x<version<=2.14.1环境搭建linux的ijideajava版本:JDK1.8u102https://www.oracle.com/cis/java/technologies/javase/javase8-archive-downloads.htmlLOG4J.javaimportorg.apache.logging.log4j.LogManager;importorg.apache.l......
  • centOS配置java、maven环境
    1.下载jdk与maven安装包2.在自定义的位置解压安装包3.修改profile的环境变量:vim/etc/profile在最下面增加exportJAVA_HOME=/usr/local/java/jdk1.8.0_191exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexportM2_HOME=/usr/local/maven3/apache-mav......