Java中equals()方法重写实现代码

 更新时间:2017年05月09日 10:57:37   投稿:lqh  
这篇文章主要介绍了Java中equals()方法重写实现代码的相关资料,需要的朋友可以参考下

Java中equals()方法重写实现代码

  Java中的equals()方法是在Object类中定义,Object类是所有类的父类。换句话说,任何类都隐含地继承了该方法。判断两个对象的内容是否相同,必须使用equals()方法,对于没有重写该方法的类,需要重写该方法。

重写equals()方法代码如下:


/** 
 *equlas()方法重写实例 
 */ 
class User { 
 /** 
 *方法描述:设置name值 
 *输入参数:String name 
 *返回类型:void 
 */ 
 public void setName(String name) { 
 this.name = name; 
 } 
 
/** 
 *方法描述:获取name值 
 *输入参数: 
 *返回类型:String 
 */ 
 public String getName() { 
  return name; 
 } 
 
/** 
 *方法描述:重写equals()方法 
 *输入参数:Object obj 
 *返回类型:boolean 
 */ 
 
public boolean equals(Object obj) { 
 if(this == obj) { 
  return true; 
 } 
 if(null == obj) { 
  return false; 
 } 
 if(getClass() != obj.getClass()) { 
  return false; 
 } 
 
 User user = (User) obj; 
 if(!name.equals(user.name)) { 
 return false; 
 } 
 return true; 
} 
 private String name; 
} 
 
public class EqualsDemo { 
 public static void main(String[] args) { 
 User userA = new User(); 
 userA.setName("王明"); 
  
 User userB = new User(); 
 userB.setName("王明"); 
 
 User userC = new User(); 
 userC.setName("王亮"); 
 
 System.out.println("userA equals userB:" + userA.equals(userB)); 
 System.out.println("userA equals userC:" + userA.equals(userC)); 
 } 
} 

运行结果如下所示:

  总结:

 1.对象内容的比较,需要使用equals()方法,若是对于已经重写该方法的类,例如String类,就无需再重写;若是没有重写,例如自定义的User类,就需要重写。

 2.Java语言中的“==”对于基本数据类型就是比较其值,而对于对象就是比较对象的引用。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • spring boot基于注解的声明式事务配置详解

    spring boot基于注解的声明式事务配置详解

    这篇文章主要介绍了spring boot基于注解的声明式事务配置详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • SpringBoot结合Redis哨兵模式的实现示例

    SpringBoot结合Redis哨兵模式的实现示例

    这篇文章主要介绍了SpringBoot结合Redis哨兵模式的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • mybatis那些约定的配置你真的都了解吗(经验总结)

    mybatis那些约定的配置你真的都了解吗(经验总结)

    mybatsi中Mapper和xml文件之间有很多约定俗称的规则,比如名称匹配,包扫描,别名等,这些规则是什么。如果想更加灵活,该如何配置呢?今天就给大家讲一下如何配置mybatsi的xml文件
    2021-06-06
  • SpringBoot配置拦截器的示例

    SpringBoot配置拦截器的示例

    这篇文章主要介绍了SpringBoot配置拦截器的示例,帮助大家更好的理解和使用springboot框架,感兴趣的朋友可以了解下
    2020-11-11
  • mybatis整合springboot报BindingException:Invalid bound statement (not found)异常解决

    mybatis整合springboot报BindingException:Invalid bound stateme

    这篇文章主要给大家介绍了关于mybatis整合springboot报BindingException:Invalid bound statement (not found)异常的解决办法,这个错误通常是由于Mapper文件中的statement id与Java代码中的方法名不一致导致的,需要的朋友可以参考下
    2024-01-01
  • IntelliJ IDEA2021.1 配置大全(超详细教程)

    IntelliJ IDEA2021.1 配置大全(超详细教程)

    这篇文章主要介绍了IntelliJ IDEA2021.1 配置大全(超详细教程),需要的朋友可以参考下
    2021-04-04
  • JAVA Spring中让人头痛的JAVA大事务问题要如何解决你知道吗

    JAVA Spring中让人头痛的JAVA大事务问题要如何解决你知道吗

    这篇文章主要介绍了Java Spring事务使用及验证过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-09-09
  • Java基础教程_判断语句if else

    Java基础教程_判断语句if else

    下面小编就为大家带来一篇Java基础教程_判断语句if else。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Idea2023配置JavaWeb项目(最新)

    Idea2023配置JavaWeb项目(最新)

    本文将介绍如何配置JavaWeb项目,以在Idea中实现开发环境,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 关于synchronized有趣的同步问题

    关于synchronized有趣的同步问题

    今天小编就为大家分享一篇关于关于synchronized有趣的同步问题,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论