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语言中的“==”对于基本数据类型就是比较其值,而对于对象就是比较对象的引用。


 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值