short
、 int
、 long
、 float
、 double
),只能使用 == ,因为这些基本类型的变量没有 equals 方法。对于基本类型变量的比较,使用 == 比较, 一般比较的是它们的值。Us u1 = new Us(1, 2); Us u2 = new Us(1, 2); System.out.println(u1 == u2);//false Us u3 = u1; System.out.println(u1 == u3);//true
Us u1 = new Us(1, 2); Us u2 = new Us(1, 2); System.out.println(u1.equals(u2));// false Us u3 = u1; System.out.println(u1.equals(u3));// true
String equals 被重写 比较值
String a = "Hello World"; String b = new String("Hello World"); String c = b; //引用传递 System.out.println("a == b:" + a == b); //false System.out.println("b == c:" + b == c); //true System.out.println("a == c:" + a == c); //false System.out.println("a.equals(b):" + a.equals(b)); //true System.out.println("b.equals(c):" + b.equals(c)); //true System.out.println("a.equals(c):" + a.equals(c)); //true 最终的打印会是: a == b:false b == c:true a == c:false a.equals(b):true b.equals(c):true a.equals(c):true