== 是一个运算符
基本类型:比较的就是值是否相同
引用类型:比较的就是地址值是否相同(即两个引用是否指向同一个对象实体)
public static void main(String[] args) {
String a = "aaa";
String b = "aaa";
String c = a;
int d = 1;
int e = 1;
int f = d;
System.out.println("========引用类型=======");
System.out.println("a==b:"+(a==b));
System.out.println("a==c:"+(a==c));
System.out.println("b==c:"+(b==c));
System.out.println("========基本类型=======");
System.out.println("d==e:"+(d==e));
System.out.println("e==f:"+(e==f));
System.out.println("f==d:"+(f==d));
}
结果:
equals:
是一个方法,而非运算符。
只能适用于引用数据类型。比较两个对象的内容是否相等。
注意:如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址。
public static void main(String[] args) {
String a = "aaa";
String b = "aaa";
String c = a;
System.out.println("========引用类型=======");
System.out.println("a.equals(b):"+a.equals(b));
System.out.println("a.equals(c):"+a.equals(c));
System.out.println("b.equals(c):"+b.equals(c));
}
结果: