Object类之equals()方法
TestEquals.java
//Object之equals方法 public class TestEquals { public static void main(String[] args) { Cat c1 = new Cat(1, 2, 3); Cat c2 = new Cat(1, 2, 3); System.out.println(c1 == c2);//false System.out.println(c1.equals(c2));//true,c1.equals使用的是Cat中重写的equals()方法 String s1 = new String("hello"); String s2 = new String("hello"); System.out.println(s1 == s2);//false System.out.println(s1.equals(s2)); //true,s1.s1.equals使用的是String类中的equals()方法 } } class Cat { int color; int height, weight; public Cat(int color, int height, int weight) { this.color = color; this.height = height; this.weight = weight; } //重写的equals()方法 public boolean equals(Object obj) { if(obj == null) return false; else { if(obj instanceof Cat) { //instanceof用来判断内存中实际对象A是不是B类型 Cat c = (Cat)obj; if(c.color == this.color && c.height == this.height && c.weight == this.weight) { return true; } } } return false; } }