A:==
可以用于比较基本数据类型,比较的就是基本数据类型的值是否相等。
可以用于比较引用数据类型,比较的是对象的地址值是否相等。
B:equals
equals只能用于比较引用数据类型的。
Object提供的equals是用于比较对象地址值是否相同。
自定义类中,如果重写了equals方法,那么就是按照你自己的需求来比较的。
String s1 = new String("abc");
Strign s2 = new String("abc");
String s3 = "abc";
String s4 = "abc";
sop(s1==s2); //false
sop(s1==s3); //false
sop(s3==s4); //true
System.out.println(s1.equals(s2));// true
System.out.println(s1 == s2);// false
System.out.println(s1.equals(s3));// true
System.out.println(s1 == s3);// false
System.out.println(s2.equals(s4));// true
System.out.println(s2 == s4); |