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); } }