zoukankan      html  css  js  c++  java
  • 关于Java的对象equals方法

     广州疯狂软件学院拥有三大课程体系包括:java课程,android课程,ios课程,疯狂软件年终钜惠,报名java就业班,免费赠送基础班,名额有限,本月火热报名中,欢迎有志之士电话或者QQ咨询。

      不是所有的equals都是比较整个对象的。

      #1. 普通Object类:

      先看源码:

      public boolean equals(Object obj) {

      return (this == obj);

      }

      看到了没,用"==",比较的是对象引用,也就是地址。假如两个对象传入的参数一样,但是都用new去创建,地址就不同了,那么用equals返回的就是false.

      #2. String类:

      先看源码:

      public boolean equals(Object anObject) {

      if (this == anObject) {

      return true;

      }

      if (anObject instanceof String) {

      String anotherString = (String)anObject;

      int n = count;

      if (n == anotherString.count) {

      char v1[] = value;

      char v2[] = anotherString.value;

      int i = offset;

      int j = anotherString.offset;

      while (n-- != 0) {

      if (v1[i++] != v2[j++])

      return false;

      }

      return true;

      }

      }

      return false;

      }

      比较的是内容,所以只要内容一样,用new去创建的两个String对象,调用equals返回true.

      #3. Integer类

      先看源码:

      public boolean equals(Object obj) {

      if (obj instanceof Integer) {

      return value == ((Integer)obj)。intValue();

      }

      return false;

      }

      一样是比较内容。

      疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。技术知识沉淀深厚的老师,让你感受Java的魅力,激发你对于编程的热爱,让你在半年的时间内掌握8-10万的代码量,掌握Java核心技术,成为真正的技术高手;通过大量全真企业项目疯狂训练,迅速积累项目经验。让你成为技能型的现代化高端人才,迅速获得高薪就业!时间不等人,赶紧联系我们吧!疯狂java培训中心地址:广州天河区车陂沣宏大厦3楼。

      疯狂Java培训专注软件开发培训,提升学员就业能力,重点提升实践动手能力。疯狂软件开设了java课程,ios课程,android课程,为你提供一个学习java技能的好机会,疯狂软件特大优惠活动,加疯狂软件微信号(疯狂软件),抢优惠,优惠100元+赠送iOS教材一本 详情请看疯狂java培训官网。IT从业着仍是社会所需要的高端人才,广州疯狂软件之力于培养企业所需要的中高端IT人才,让你成为备受企业青睐的人才。

  • 相关阅读:
    centos7安装mysql5.7
    Day1:基于ECS搭建FTP服务
    sql多表语句
    SSM多表查询
    ssm中使用逆向工程
    用maven对ssm进行整合
    Maven设置本地仓和阿里云远程仓
    解决maven项目中web.xml is missing and <failOnMissingWebXml> is set to true
    SSM登陆
    理解ConcurrentMap
  • 原文地址:https://www.cnblogs.com/gojava/p/3514988.html
Copyright © 2011-2022 走看看