0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

注意了,将int定义为Integer会出现Java错误

汽车玩家 来源:扣丁学堂 作者:扣丁学堂 2020-01-20 17:46 次阅读

在本地项目中跑跑试试看。还是没发现问题,依旧不打印执行完毕的日志。那我就看看是不是判断出问题了。在判断的地方打印出前后比较的值。发现从128开始,128!=128,返回为false。这是什么情况?

128!=128

开始真的认为不可能呀,基本类型比较怎么还出现false了呢。后来一看代码。我把int定义成了Integer。瞬间明白了为什么?

大家都知道Integer是有缓存的,当数值在-128~127之间,是从缓存中取数据。

注意了,将int定义为Integer会出现Java错误

Integer缓存源码

这里给大家做个测试

注意了,将int定义为Integer会出现Java错误

定义Integer

注意了,将int定义为Integer会出现Java错误

定义int

总结:还好当时知道Integer的源码,看见128之后,想到了Integer的缓存,不然真的得找一会原因了。 当你在面临压力面前还能心里不急躁的去找bug是办不到的,所以平时还是需要看看源码,另外 这纯是一种马虎行为。大家在平时开发一定要注意下。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • JAVA
    +关注

    关注

    19

    文章

    2943

    浏览量

    104097
收藏 人收藏

    评论

    相关推荐

    SAR ADC通道0配置P1.3,在配置器和编译过程中都出现错误的原因?

    我正在为 SAR ADC 通道 0 配置 P1.3,但在配置器和编译过程中都出现错误,即"personality MSC 0" 正在使用所需的资源。 知道为什么会出现
    发表于 07-03 07:09

    ESP32-C3在SPI-AT模式下进行数据透传,最后一个数据包的数据偶尔会出现错误,为什么?

    目前采用SPI-AT的方式在两个硬件板之间进行数据的无线传输,一个作为AP开启TCP服务器,一个作为STA连接到对应的服务器,传输的数据量3000000字节,在测试的过程中偶尔会出现数据在固定的位置出现
    发表于 06-26 06:07

    编码器坏了会出现什么故障

    编码器,作为现代工业领域中广泛应用的设备,其作用是机械位移或角度转换为电信号,以便于控制系统进行监测、反馈和调节。然而,由于使用环境、操作方式、设备质量等多种因素的影响,编码器有时会出现故障,从而
    的头像 发表于 06-03 15:44 1746次阅读

    PDF输出时出现错误提醒的解决方案

    通过Output Job或Smart PDF创建PDF后,Adobe Acrobat Reader在打开文件时会出现以下错误消息:“An error exists on this page.
    的头像 发表于 01-12 09:50 1235次阅读
    PDF输出时<b class='flag-5'>出现</b><b class='flag-5'>错误</b>提醒的解决方案

    ADXL345如何端口INT1重置原始低电平?

    我用ADXL345在INT1端口上配置双击中断,但是双击后触发了。INT1端口的值一直保持在高电平,没有回到低电平。我想知道如何端口 INT
    发表于 12-27 07:44

    Java各种类的区别

    8种基本类型:byte、short、int、long、float、double、char和boolean。这些基本类型都有对应的包装类,用于基本数据类型转化为对象。 包装类: 包装类是一种特殊的类,用于
    的头像 发表于 12-03 11:08 7361次阅读

    xlookup查询结果错误值什么情况

    出现错误值的原因。 一、错误值的类型 #VALUE!:当XLOOKUP函数的输入参数不正确时,会出现#VALUE!错误。常见的原因包括: 引
    的头像 发表于 12-03 10:16 9115次阅读

    java中长整型怎么定义

    Java中,长整型是一种数据类型,用于存储整数值。它的取值范围比整型要大,可以存储更大的整数值。长整型的大小8字节,即64位。在Java中,长整型用关键字"long"进行声明和定义
    的头像 发表于 11-30 11:29 2746次阅读

    Java提供哪些注释语句

    Java提供很多种类型的注释语句,它们都有不同的用途和作用。在本文中,我们详细介绍Java中的注释语句类型,并讨论它们的用法和如何正确使用它们。 单行注释(Single-line
    的头像 发表于 11-28 16:56 514次阅读

    java源程序是由类定义组成的吗

    Java源程序是由类定义组成的。在Java中,类是用来定义对象的一种结构化方式。一个类可以包含字段(变量)和方法(函数),它们一起描述对象
    的头像 发表于 11-28 16:36 530次阅读

    请问为什么使用锁存增益模式时,控制使AD8253增益100时出现错误

    错误,增益变为1。我原理图中的C2去掉,也即将AD8253的输出与下一级的AD8597断开后,再控制使AD8253的增益100,则没
    发表于 11-27 07:45

    java中常用的包有哪些

    java.lang包:是Java编程语言的核心包,它包含Java编程语言的基本类和接口,如String、Integer、Math等。这些类可以直接使用,无需导入。
    的头像 发表于 11-22 15:10 1092次阅读

    java中equals()方法的注意事项

    Java中的equals()方法是用于比较两个对象是否相等的方法。这个方法是在Object类中定义的,因此所有的Java类都默认地继承equals()方法。然而,equals()方法
    的头像 发表于 11-17 16:59 625次阅读

    RS232通信时怎么处理错误?RS232通信中的错误处理方法

    RS232通信时怎么处理错误?RS232通信中的错误处理方法  RS232通信是一种电气标准,它定义计算机和串行通信设备之间的通信协议。尽管RS232通信很稳定,但仍然可能
    的头像 发表于 10-17 16:33 2450次阅读

    Integer的主要属性

    前面介绍 java.lang 包下的 Object 类,这是所有类的父类。本篇文章接着介绍该包下的另一个也很常用的类 Integer。 1. Integer 的声明 public f
    的头像 发表于 10-13 11:46 424次阅读
    <b class='flag-5'>Integer</b>的主要属性