全网整合营销服务商

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

免费咨询热线: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 


相关文章: 如何在IIS中新建站点并配置端口与IP地址?  如何通过西部建站助手安装IIS服务器?  5种Android数据存储方式汇总  成都网站制作报价公司,成都工业用气开户费用?  ,怎么在广州志愿者网站注册?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  三星网站视频制作教程下载,三星w23网页如何全屏?  小型网站建站如何选择虚拟主机?  如何通过万网虚拟主机快速搭建网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  广州美橙建站如何快速搭建多端合一网站?  如何在IIS7上新建站点并设置安全权限?  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何有效防御Web建站篡改攻击?  如何通过FTP空间快速搭建安全高效网站?  如何快速搭建高效WAP手机网站?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  云南网站制作公司有哪些,云南最好的招聘网站是哪个?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  家庭建站与云服务器建站,如何选择更优?  如何快速搭建高效香港服务器网站?  h5网站制作工具有哪些,h5页面制作工具有哪些?  内部网站制作流程,如何建立公司内部网站?  制作销售网站教学视频,销售网站有哪些?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  建站之星收费标准详解:套餐费用及年费价格表一览  建站之星后台密码遗忘?如何快速找回?  如何访问已购建站主机并解决登录问题?  建站主机选购指南:核心配置优化与品牌推荐方案  建站上传速度慢?如何优化加速网站加载效率?  如何在Golang中使用replace替换模块_指定本地或远程路径  专业公司网站制作公司,用什么语言做企业网站比较好?  常州企业建站如何选择最佳模板?  C#怎么使用委托和事件 C# delegate与event编程方法  学校为何禁止电信移动建设网站?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  如何在腾讯云服务器上快速搭建个人网站?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何快速辨别茅台真假?关键步骤解析  如何彻底卸载建站之星软件?  建站之星如何实现网站加密操作?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  ,南京靠谱的征婚网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何基于云服务器快速搭建网站及云盘系统?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  香港服务器部署网站为何提示未备案? 

您的项目需求

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