详解Java中“==”与equals()的区别
发布时间 - 2026-01-10 22:50:02 点击率:次Java中“==”与equals()的区别

对于关系操作符“==”,《Java编程思想》中是这样描述的:“关系操作符生成的是一个boolean结果,它们计算的是操作数的值之间的关系”。这里的操作数的“值”值得我们注意。对于8种基本数据类型(boolean,byte,char,short,int,float,double,long),它们的变量直接存储的就是“值”。所以,我们用“==”对基本数据类型的变量进行比较时,实际比较的就是变量存储的值,例如:
public static void main(String[] args) {
int a = 5, b = 5;
System.out.println(a == b);
}
很明显,程序将输出:true。但是,下面这段代码呢?
public static void main(String[] args) {
Integer c = new Integer(5), d = new Integer(5);
System.out.println(c == d);
}
我们运行程序,发现输出的是:false。这是因为Integer并非Java中的基本数据类型,其变量c、d在Java中被称为指向对象的引用,其存储的“值”是对象在内存中的地址,而非值“5”本身。所以,c和d实际存储的分别是两个value值都为“5”的Integer对象的地址,这两个对象不在同一块内存空间,“==”比较的结果自然是false了。
那么equals()方法比较的是什么呢?equals()是基类Object中定义的方法,在Object类中,equals()方法定义为:
public boolean equals(Object obj) {
return (this == obj);
}
这等价于“==”。其实,equals()方法的意义在于重写,否则对equals()的调用是没有意义的。例如,继承自Object的Integer类便重写了equals()方法:
public boolean equals(Object obj) {
if (obj instanceof Integer) {
return value == ((Integer)obj).intValue();
}
return false;
}
该方法的意义是对value值进行比较,那么如果我们对于两个具有相同value值的Integer对象调用equals()进行比较:
public static void main(String[] args) {
Integer c = new Integer(5), d = new Integer(5);
System.out.println(c.equals(d));
}
结果便是true。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java
# ==
# 与equals()
# 与equals()区别
# 与equals()详解
# Java equals()方法使用详解及总结
# Java中==符号与equals()的使用详解(测试两个变量是否相等)
# 详解Java中==和equals()的区别
# Java中==和equals()的区别总结
# Java中equals()方法实例详解
# Java中equals()方法重写实现代码
# Java中的== 和equals()方法详解与实例
# 详解java==运算符和equals()方法的区别
# Java自定义实现equals()方法过程解析
# Java中equals()方法的理解与使用方法例子
# 的是
# 是这样
# 这段
# 这两个
# 希望能
# 写了
# 重写
# 被称为
# 什么呢
# 而非
# 很明显
# 谢谢大家
# 这是因为
# 这等
# 都为
# 则对
# 类中
# double
# long
# int
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)
Laravel怎么连接多个数据库_Laravel多数据库连接配置
如何在万网自助建站平台快速创建网站?
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
如何在阿里云ECS服务器部署织梦CMS网站?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
Laravel的HTTP客户端怎么用_Laravel HTTP Client发起API请求教程
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
如何在IIS服务器上快速部署高效网站?
Linux系统运维自动化项目教程_Ansible批量管理实战
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
网站制作壁纸教程视频,电脑壁纸网站?
大同网页,大同瑞慈医院官网?
如何在腾讯云服务器上快速搭建个人网站?
高端网站建设与定制开发一站式解决方案 中企动力
Laravel怎么使用Intervention Image库处理图片上传和缩放
网站制作软件有哪些,制图软件有哪些?
如何生成腾讯云建站专用兑换码?
C语言设计一个闪闪的圣诞树
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
php打包exe后无法访问网络共享_共享权限设置方法【教程】
公司网站制作需要多少钱,找人做公司网站需要多少钱?
高端企业智能建站程序:SEO优化与响应式模板定制开发
javascript基本数据类型及类型检测常用方法小结
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
如何在橙子建站中快速调整背景颜色?
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏
如何快速搭建个人网站并优化SEO?
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能
深圳网站制作平台,深圳市做网站好的公司有哪些?
手机网站制作与建设方案,手机网站如何建设?
Swift中swift中的switch 语句
Swift中switch语句区间和元组模式匹配
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
米侠浏览器网页背景异常怎么办 米侠显示修复
如何在服务器上三步完成建站并提升流量?
WEB开发之注册页面验证码倒计时代码的实现
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
奇安信“盘古石”团队突破 iOS 26.1 提权
佛山企业网站制作公司有哪些,沟通100网上服务官网?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?

