==:
- 如果作用于基本数据类型的变量,则直接比较其存储的值是否相等
- 如果作用域引用类型的变量,则比较所指向的对象的地址
equals():
- equals()不能作用于基本数据类型的变量
- Object类中,equals方法用来比较指向的字符串对象所存储的字符串是否相等
- 其他类,比如Double,Date,Integer等,对equals方法进行了重写,用来比较所指向的对象所存储的值的内容是否相等
String a = "abc"; String b = "abc"; String c = new String("abc"); String d = new String("abc");
System.out.println(a==b); System.out.println(a==c); System.out.println(c==d); System.out.println(a.equals(c)); System.out.println(c.equals(d));
输出结果:
true
false
false
true
true
==:
- 如果作用于基本数据类型的变量,则直接比较其存储的值是否相等
- 如果作用域引用类型的变量,则比较所指向的对象的地址
equals():
- equals()不能作用于基本数据类型的变量
- Object类中,equals方法用来比较指向的字符串对象所存储的字符串是否相等
- 其他类,比如Double,Date,Integer等,对equals方法进行了重写,用来比较所指向的对象所存储的值的内容是否相等
String a = "abc";
String b = "abc";
String c = new String("abc");
String d = new String("abc");
System.out.println(a==b);
System.out.println(a==c);
System.out.println(c==d);
System.out.println(a.equals(c));
System.out.println(c.equals(d));
输出结果:
true
false
false
true
true