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
    +关注

    关注

    20

    文章

    3006

    浏览量

    116830
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2.8 GHz INTEGER - N 合成器 HMC440QS16G(E):特性、应用与设计要点

    的 HMC440QS16G(E) 是一款 2.8 GHz 的 INTEGER - N 合成器,下面详细探讨它的特性、应用以及设计中的一些要点。 文件下载: HMC440.pdf 一、产品概述
    的头像 发表于 04-20 15:50 69次阅读

    深入剖析ADF4151:Fractional - N/Integer - N PLL合成器的卓越性能与应用

    作为一款高性能的Fractional - N/Integer - N PLL合成器,众多应用场景提供灵活且精准的频率解决方案。本文深入探讨ADF4151的特性、应用、电路原理以及
    的头像 发表于 04-20 11:30 161次阅读

    Java并发编程的“基石”——多线程概念初识

    )。Java 调度系统通过复杂的图算法,物理机的网络拓扑抽象内存对象,在毫秒级内计算出“哪些任务应该被调度到同一台机器的八张卡上”,以最大化网络吞吐。 另一方面是 ** Gang Scheduling(组
    发表于 04-16 18:50

    CAN总线报错看不懂?5种错误帧+5步排查法一次讲清

    其他节点,进而丢弃错误报文并触发重发机制,确保数据传输的准确性。在CAN通信调试中,错误帧是定位问题的重要线索。五种错误帧类型CAN协议定义
    的头像 发表于 03-16 11:36 406次阅读
    CAN总线报错看不懂?5种<b class='flag-5'>错误</b>帧+5步排查法一次讲清

    容易造成单片机内存溢出的几个陷阱介绍

    数组长度是否超出数组下标长度,但有的地方未必就能检测出,如数组在for()循环里访问的,这个时候就需要注意,千万小心不要让它出现访问越界的情况。因为编译是检测不出来的,但是在运行的
    发表于 01-23 07:25

    Keil编译错误汇总

    定义,具体出现的原因未知 解决:把定义的变量放在主文件main.c中,在exti.h中添加extern来外部引用此变量来用。 注:一般变量的定义都不能在.h文件中,因为.h文件
    发表于 01-21 07:40

    激光雷达点云为什么会出现吸点现象?

    相信各位在开车时一定遇到过这么一个场景,有一个很小的障碍物在车前,当障碍物非常靠近车辆时,你在驾驶位置上是完全看不到的,这就是俗称的“盲区”。对于激光雷达来说,也会出现类似的问题,当障碍物离激光雷达足够近时,它也会出现“盲区”,这一现象被称为“吸点”。
    的头像 发表于 12-31 16:28 3622次阅读

    C语言中除数0属于什么错误

    在源程序的编写时往往会出一些错误,这些错误大致分为静态错误和动态错误两类。 所谓动态错误:逻辑
    发表于 12-08 06:38

    飞凌嵌入式ElfBoard-文件I/O的了解探究之返回错误处理与相关函数

    码。所以由此可知道,当程序中调用函数发生错误的时候,操作系统内部会通过设置程序的 errno变量来告知调用者究竟发生了什么错误。errno本质上是一个int类型的变量,用于存储错误编号
    发表于 11-21 08:50

    下载模式的切换之后,会出现编译错误的解决办法

    一、队伍介绍 本篇蜂鸟E203系列分享第一篇,本篇介绍的内容是解决下载模式的切换之后出现编译错误问题。 二、问题提出 在进行下载模式切换之后,进行编译,提示如下图所示的错误: 三、
    发表于 10-30 08:11

    rtthread线程出现异常,有没有什么钩子函数能够定义用户操作?

    线程出现异常,有没有什么钩子函数能够定义用户操作????
    发表于 09-18 06:36

    为什么会出现“芯片 ID 无效”错误消息和部件号,使用 ISP 编程工具时显示未知?

    “config.ini”丢失或目标芯片的 PDID 未列在“config.ini”中,则 ISP 编程工具或部件号上会出现“芯片 ID 无效”错误消息。显示未知。
    发表于 08-18 07:23

    使用 NPU 插件对量化的 Llama 3.1 8b 模型进行推理时出现“从 __Int64 转换为无符号 int错误”,怎么解决?

    推理量化的 Llama 3.1 8B 模型时遇到错误: Runtime error: Bad cast from __int64 to unsigned int
    发表于 06-25 07:20

    ArkUI-X平台桥接Bridge说明

    例,ArkTS和Java没有相互调用的能力,为了实现ArkTS和Java交互,需要ArkTS与C++交互,C++再与Java交互,反之亦然。但是对于开发者,就像是ArkTS和
    发表于 06-19 23:12

    WP4000在电机功率测试中为什么会出现基波有功功率大于总有功功率现象

    在电机试验的实际测量中,WP4000变频功率分析仪遇到过 基波有功功率 大于 总有功功率 这种看上去违背常理的现象,这种现象的出现会引起我们对测量仪器准确性的质疑,为什么会出现这种现象,真的
    的头像 发表于 05-13 09:57 865次阅读
    WP4000在电机功率测试中为什么<b class='flag-5'>会出现</b><b class='flag-5'>了</b>基波有功功率大于总有功功率现象