理解 Java 中的 ==:为什么 = 为真但 == 可能为假

如果您正在学习 java,您可能已经无数次使用过 == 运算符。处理数字时很简单,对吧?嗯,并非总是如此。当 1 == 1 计算结果为 true 时,会出现一个常见的混淆点,但令人惊讶的是,128 == 128 可能计算结果为 false。这是怎么回事? java坏了吗?绝对不是!关键在于理解 java 中的基本类型、对象引用和自动装箱。让我们一步步揭开这个谜团。

理解 Java 中的 ==:为什么 = 为真但 == 可能为假

基础知识:原始与对象比较
在 java 中,== 运算符的行为有所不同,具体取决于您比较的是基元还是对象:

对于原语(例如 int、char、double):
== 运算符比较实际值。如果值相同,则结果为 true。

int x = 1;int y = 1;system.out.println(x == y); // true

对于对象(例如,整数、字符串或自定义类):
== 运算符检查两个对象是否指向同一内存位置(即引用相等)。

integer x = new integer(128);integer y = new integer(128);system.out.println(x == y); // false (different memory locations)

自动装箱怎么样?
java 在 java 5 中引入了自动装箱,以使原语及其包装类(如 int 和 integer)的使用更加无缝。它允许你编写这样的代码。

integer a = 1; // autoboxes the int 1 to an integer objectint b = a;     // unboxes the integer back to a primitive int

虽然这很方便,但与 == 结合使用时可能会导致微妙的错误。为什么?因为对象和基元在 ==.

时的行为不同

整数缓存
java 通过缓存 -128 到 127 之间的值的 integer 对象来优化内存使用。这意味着如果您在此范围内创建两个 integer 对象,它们将指向相同的内存位置。让我们看看实际效果。

integer x = 127;integer y = 127;system.out.println(x == y); // true (same cached object)integer a = 128;integer b = 128;system.out.println(a == b); // false (different objects)

比较 x 和 y(均为 127)时,java 重用相同的缓存对象。对于 a 和 b(均为 128),java 在缓存范围之外创建两个不同的 integer 对象。因此,a == b 的计算结果为 false。

为什么会发生这种情况?
缓存行为在 integer 类中定义。

private static class integercache {   static final integer[] cache = new integer[-(-128) + 127 + 1];   ...}

默认情况下,java 缓存 -128 到 127 范围内的整数值以节省内存。对于超出此范围的数字,将创建新对象。

立即学习“Java免费学习笔记(深入)”;

如何避免这种混乱
如果你想比较两个 integer 对象(或其他包装类)的值,你应该使用 .equals() 方法,或者显式地将它们拆箱为基元。

使用.equals()

integer a = 128;integer b = 128;system.out.println(a.equals(b)); // true

拆箱到原语

钉钉 AI 助理 钉钉 AI 助理

钉钉AI助理汇集了钉钉AI产品能力,帮助企业迈入智能新时代。

钉钉 AI 助理 21 查看详情 钉钉 AI 助理

integer a = 128;integer b = 128;system.out.println(a.intvalue() == b.intvalue()); // true

直接使用基元

int a = 128;int b = 128;system.out.println(a == b); // true

要点

原始比较:== 比较实际值。

int x = 1, y = 1;system.out.println(x == y); // true

对象比较:== 比较内存引用,而不是值。

integer x = 128, y = 128;system.out.println(x == y); // false

整数缓存:java 缓存 -128 到 127 之间的整数对象。

Integer x

以上就是理解 Java 中的 ==:为什么 = 为真但 == 可能为假的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/614726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月11日 03:19:45
下一篇 2025年11月11日 03:23:53

相关推荐

  • 柴犬、ETF 和资产管理公司:为什么狗狗币能获得优势

    尽管柴犬币(shiba inu,简称shib)广受投资者欢迎,但在推动交易所交易基金(etf)方面却面临困难,主要原因在于缺乏传统金融机构的支持。相比之下,狗狗币(dogecoin)甚至一些市值更低的模因币已经获得etf申请的进展,那么,shib为何迟迟未能获得青睐? 作为市值高且社区活跃的模因币,…

    2025年12月8日
    000
  • 为什么销毁代币对模因币meme如此重要

    代币销毁是模因币项目提升价值和建立社区信心的核心策略。1. 通过将代币发送至无法访问的地址永久移除流通量,制造通货紧缩效应,提升代币稀缺性和潜在价值。2. 销毁机制传递项目方长期承诺信号,增强市场信任。3. 与社区活动挂钩,激励用户参与和长期持有。4. SHIB销毁超40%供应量是经典案例,直接推动…

    2025年12月8日
    000
  • 小Lin说发布的《一口气了解稳定币》视频讲了些啥

    小Lin说视频破圈标志着加密内容首次以专业中立姿态进入大众视野。视频指出美元稳定币商业价值主要沉淀在分发环节,仅2024年Circle支付给Coinbase的渠道分销费用就达9亿美元;合规性成为行业分水岭,Circle的合规实践成功打入美国主流金融市场;监管机构将稳定币严格限定在支付领域,对其衍生金…

    2025年12月8日
    000
  • 比特币周期已破!未来的12个月有望达到20万?

    比特币(btc)正在飙升。前两天创下122,000美元的历史新高: ‍ 图片:比特币价格,来源:TradingView 如果你还在问自己“我们在比特币周期的哪个阶段”,我有消息要告诉你: 比特币的四年周期已被打破 自比特币诞生以来,它一直遵循一个可靠的四年节奏。 这种预编程的事件——自动将比特币新供…

    2025年12月8日 好文分享
    000
  • 币安APP闪退怎么办?5招解决并优化交易体验

    币安APP闪退可通过五大方法解决。1.重启手机和APP;2.更新至最新版;3.清除缓存;4.检查并确保网络稳定;5.卸载后重新安装官方版本。此外,保持设备性能、关注官方公告及通过正规渠道下载APP可有效预防闪退,保障交易顺畅。 当币安APP突然闪退,你的心是否也跟着一沉?这只是个开始,别急,我们来帮…

    2025年12月8日
    000
  • 为什么这么多用户都在币安交易 全球每10笔现货交易有4笔在币安

    币安成为全球用户首选交易平台的原因在于其市场深度、衍生品流动性及资金储备优势。1.现货市场份额达42%,半年交易量近2万亿美元,确保高效低滑点交易;2.比特币永续合约交易量4.1万亿美元,市场份额38%,带来更小点差、更低强平风险及更快订单执行;3.稳定币储备达316.7亿美元,占全球前十交易所近6…

    2025年12月8日
    000
  • 为什么别人买币能赚钱而我却总在亏?

    不少刚入圈的新手都有一个疑问:为什么身边人炒币好像都在赚钱,轮到自己就总是亏?其实,大多数亏钱的原因都不是“运气差”,而是踩了币圈常见的认知和操作陷阱。 信息滞后,看见暴涨才冲进去 很多人是在看到某币暴涨后才入场,这种“追涨买高点”的行为,容易成为接盘侠。赚钱的人往往早已布局,而你看到的新闻、K线暴…

    2025年12月8日
    000
  • 币圈行情涨跌是不是只看BTC就够了 币圈免费观看行情网址推荐

    很多刚入圈的新手常听到一句话:“比特币涨,全市场就涨;比特币跌,全市场就跌。”这句话虽然在一定程度上反映了btc的市场主导地位,但并不能代表你只看btc行情就能完全掌握整个币圈的趋势。 因此,新手应综合观察BTC、ETH及主流赛道币种的行情变化,而不是只盯着一个币种。 以下是几个无需注册即可查看实时…

    2025年12月8日
    000
  • 为什么币圈总有人亏光?新手如何避坑?

    刚进入币圈的新手常抱有一夜暴富的幻想,但现实中,多数人第一年都在亏钱,甚至有人爆仓清零。不是币圈太险恶,而是认知不到位。想避坑,先了解亏损常见原因。 新手亏损的三大原因 一、盲目跟风:看到热点就All in,没有风控意识,涨了沾沾自喜,跌了直接深套。 二、跟风“抄作业”:在抖音、小红书上看到某博主喊…

    2025年12月8日
    000
  • BONK币是什么?Pump.fun为何推动BONK币价格飙升?BONK币价格展望

    目录 BONK 是什么?它为何颠覆 Pump.funPump.fun 的 TGE 如何推动 Bonk 价格和 Letsbonk 增长Bonk 价格催化剂:ETF 热点、技术突破和创纪录的交易量Bonk 价格展望及投资要点结论:为什么 BONK 和 Letsbonk 领先于 Post-Pump.fun…

    2025年12月8日
    000
  • Grok 是什么?如何运作?如何使用Grok AI 实时识别加密货币信号

    以下是你提供内容的伪原创版本,已确保不改变文章大意,同时保留了原始图片位置,未添加任何解释或说明: 目录 什么是Grok? 为什么情绪在加密货币中如此重要? 案例:马斯克推文后PEPE 币的价格暴涨(2024 年3 月) Grok 如何检测加密货币交易信号 代币提及激增 2.情绪分析 交易者如何利用…

    2025年12月8日 好文分享
    000
  • 为什么比特币是一场“信仰游戏”?

    比特币的价值核心在于社会共识与集体信念,1.其价值完全来自市场预期,人们因相信未来有人愿支付更高价而认可其价值;2.总量固定2100万枚的设计强化稀缺性叙事,推动“数字黄金”信仰;3.去中心化机制依赖全球社区对同一规则的认同,形成技术信用体系;4.被视为传统金融替代的“避风港”,但其稳定性持续接受考…

    2025年12月8日
    000
  • 什么是Caldera(ERA币)?Caldera代币经济与空投获取指南

    目录 Caldera 是什么?ERA 代币有多少种?代币分配代币解锁时间表ERA 有何用途Caldera Rollups 与以太坊Caldera 背后的技术团队与起源重要新闻与事件Caldera(ERA)是一项好的投资吗? 在区块链可扩展性的竞争格局中,一个新项目正吸引着市场的全部关注,这不仅是因为…

    2025年12月8日 好文分享
    000
  • 牛市为什么亏损 币圈大涨行情亏损是为啥

    市场火热但账户缩水的根源在于错误的交易心理和策略,解决方法包括以下三个要点:一、冷静面对亏损,果断止损是关键,接受亏损的正常性,避免恐慌或死扛;二、摒弃预测执念,计划需灵活调整,根据市场动态及时改变策略而非固守旧计划;三、坚持复盘纠错,实现认知迭代,通过总结失败经验提升判断力和应对能力。 市场一片火…

    2025年12月8日
    000
  • 什么是“币价锚定”? USDT为什么不波动?

    本文将带您了解稳定币USDT价格为何始终锚定在1美元左右。通过分析其储备资产、套利机制和市场信任,我们将揭示USDT稳定背后的逻辑。同时也提醒用户注意其潜在风险。在使用USDT等稳定币时,选择安全可靠的交易平台至关重要。 什么是币价锚定? 币价锚定是一种将加密货币的价格与某种稳定资产(通常是法定货币…

    2025年12月8日
    000
  • 币圈为什么说“风口一到,狗都能飞”?

    在币圈,大家常说“风口一到,狗都能飞”,这句话形象地描述了某个市场热点或牛市来临时,几乎所有币种的价格都会大幅上涨,甚至那些本身价值一般的“狗币”也能涨得很快。 风口是什么? “风口”指的是市场关注的热点、概念或趋势,比如某个新技术、项目突然爆火,或者整体行情进入牛市。这个时候,资金大量涌入,推动币…

    2025年12月8日
    000
  • 为什么币圈很难“长期稳赚”?新手该如何规划投资预期

    许多刚进入币圈的新手都期待“低买高卖”实现暴利,但现实中能长期稳定赚钱的人并不多。这是因为虚拟币市场波动大、节奏快、不确定性高,即便是资深交易者也难以做到长期稳健获利。 一是行情起伏不定,缺乏持续性。加密市场不像传统股市有明确的经济周期支撑,其涨跌受消息、政策甚至社区情绪影响极大,新手往往容易追涨杀…

    2025年12月8日
    000
  • 虚拟币为什么不同平台价格差异大 虚拟币不同平台的价格靠谱吗

    许多刚入圈的新手常会困惑:同一个币种,比如比特币,在不同平台上价格却不一样,到底哪个才是“真实价格”?其实,这种价格差异并不罕见,主要原因来自于供需结构、撮合机制、平台深度等因素。 首先是市场深度问题。大平台用户多、交易活跃,价格更新频率高,更接近实时市场价值。像币安这类全球用户量领先的交易所,价格…

    2025年12月8日
    000
  • 为什么这多机构买进eth 3200美元的以太坊还值得买吗

    以太坊正经历资本重构,四股力量推动其转型为全球金融基础设施。1.机构通过ETF持续买入,美国以太坊现货ETF单日净流入达3.83亿美元,贝莱德和富达主导;2.银行巨头开始提供ETH交易服务,渣打银行推出ETH实物交易平台,摩根大通全力拥抱加密货币;3.上市公司将ETH作为储备资产,SharpLink…

    2025年12月8日
    000
  • 十大最佳 AI 加密交易机器人

    人工智能加密交易机器人通过自动化执行交易策略提升效率,其核心在于使用机器学习算法、量化策略及预测分析消除情绪化决策,并实现全天候交易。1)它们依赖机器学习模型分析历史价格趋势;2)结合市场情绪分析社交媒体与新闻数据;3)通过回测优化策略后再执行;4)支持24/7自动化交易,比人类更快做出决策。安全性…

    2025年12月8日
    000

发表回复

登录后才能评论
关注微信