java equals的用法


equals方法,用於比較兩個對象是否相同,它其實就是使用兩個對象的內存地址在比較。Object類中的equals方法內部使用的就是==比較運算符。
package Xuexi;

public class Person {
   private String name;
   private int age;
public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}
public int getAge() {
	return age;
}

public void setAge(int age) {
	this.age = age;
}
 @Override
 //判斷是否是同齡人
	public boolean equals(Object obj) {
	  // TODO Auto-generated method stub
	 //判斷調用者和傳進來的對象是否一致
	  if(obj==this){
		  return true;
	  }
	  if(obj instanceof Person){
		  Person p=(Person)obj;
		  return p.age==this.age;
	  }
		return false;
	}
package Xuexi;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        Person p1=new Person();
        p1.setAge(28);
        Person p2=new Person();
        p2.setAge(17);
        //==比較的是兩個引用類型的地址
        //如果你的person沒重寫object子類,那么你的p1.equals(arr)調用的是object的equals方法,比較的是兩個對象的內存地址,沒有實用意義
        //而我們的Person類如果比較的話應該比較年齡是否相同就要重寫父類的equals方法
        boolean b=p1.equals(p2);
        System.out.println(b);	
	}

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM