==号:
1)、如果对比的是基本数据类型的变量,则比较的是其存储的“值”是否相等;
2)、如果对比的是引用类型的变量,则比较的是所指向对象的地址是否一样
int x = 10;
int y = 10;
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(x == y); // 输出true
System.out.println(str1 == str2); // 输出fals
equals方法:
equals继承Object类,equals方法不能作用于基本数据类型的变量。
1)、在没有重写equals方法类中,其底层是用“==”进行运算的,所以没有重写的equals方法比较的是地址值;
2)、Java提供的所有类中,绝大多数类都重写了equals方法,重写后的equals方法一般比较的是两个对象的值。
String str1 = new String("abc");
String str2 = new String("abc");
System.out.println(str1.equals(str2)); // 输出true
System.out.println(str1 == str2); // 输出fals
String s1 = "abc";
String s2 = "abc";
System.out.println(s1.equals(s2)); // 输出true
System.out.println(s1 == s2); // 输出tru