1 public class TestEquals { 2 public static void main(String[] args) { 3 // TestEquals t = new TestEquals(); 4 // t.test1(); 5 6 //equals(): 7 //①只能处理引用类型变量②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等 8 //java.lang.Object类,是所有类的根父类 9 10 Person p1 = new Person(); 11 Person p2 = new Person(); 12 System.out.println(p1.equals(p2));//false --->true 13 System.out.println(p1==p2);//false 14 15 //像String 包装类 File类 Date类这些重写Object类的equals()方法,比较是两个对象的 16 //"实体内容"是否完全相同。 17 String str1 = new String("AA"); 18 String str2 = new String("AA"); 19 System.out.println(str1 == str2);//false 20 System.out.println(str1.equals(str2));//true 21 } 22 23 public void test1() { 24 // == 25 // 1.基本数据类型:根据基本数据类型的值判断是否相等。相等返回true,反之返回false 26 // 注:两端数据类型可以不同,在不同的情况下,也可以返回true。 27 // 2.引用数据类型:比较引用类型变量的地址值是否相等。 28 int i = 12; 29 int j = 12; 30 System.out.println(i == j);// true 31 char c = 12; 32 System.out.println(i == c);// true 33 float f = 12.0F; 34 System.out.println(i == f);// true 35 36 int k = 65; 37 char a = ‘A‘; 38 System.out.println(k == a);// true 39 40 Object obj1 = new Object(); 41 Object obj2 = new Object(); 42 System.out.println(obj1); 43 System.out.println(obj2); 44 System.out.println(obj1 == obj2);// false 45 46 Person p1 = new Person(); 47 Person p2 = new Person(); 48 Person p3 = p1; 49 System.out.println(p1 == p2);// false 50 System.out.println(p1 == p3);// true 51 } 52 }
时间: 2024-10-23 05:59:32