全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解Java中“==”与equals()的区别

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 


相关文章: 建站之星各版本价格是多少?  如何通过宝塔面板实现本地网站访问?  如何通过网站建站时间优化SEO与用户体验?  广州营销型建站服务商推荐:技术优势与SEO优化解析  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  如何通过PHP快速构建高效问答网站功能?  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  建站之星×万网:智能建站系统+自助建站平台一键生成  css网站制作参考文献有哪些,易聊怎么注册?  平台云上自主建站:模板化设计与智能工具打造高效网站  如何用已有域名快速搭建网站?  如何快速重置建站主机并恢复默认配置?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  济南网站制作的价格,历城一职专官方网站?  建站之星如何快速生成多端适配网站?  如何在阿里云通过域名搭建网站?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  制作电商网页,电商供应链怎么做?  建站之星后台密码遗忘如何找回?  如何实现建站之星域名转发设置?  如何快速搭建支持数据库操作的智能建站平台?  网站制作新手教程,新手建设一个网站需要注意些什么?  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  一键网站制作软件,义乌购一件代发流程?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  C++用Dijkstra(迪杰斯特拉)算法求最短路径  建站之星如何配置系统实现高效建站?  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  桂林网站制作公司有哪些,桂林马拉松怎么报名?  网站制作网站,深圳做网站哪家比较好?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  建站之星会员如何解锁更多建站功能?  如何用景安虚拟主机手机版绑定域名建站?  公司门户网站制作流程,华为官网怎么做?  宝塔Windows建站如何避免显示默认IIS页面?  建站之星导航如何优化提升用户体验?  建站主机数据库如何配置才能提升网站性能?  大连网站设计制作招聘信息,大连投诉网站有哪些?  表情包在线制作网站免费,表情包怎么弄?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?  常州自助建站工具推荐:低成本搭建与模板选择技巧  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  如何选择美橙互联多站合一建站方案?  建站主机选购指南:核心配置与性价比推荐解析  已有域名建站全流程解析:网站搭建步骤与建站工具选择  如何快速搭建高效香港服务器网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。