==操作符:
比较基本数据类型的时候比较值,只要两个变量的值相等,即为true;
比较引用类型的时候比较引用(是否指向同一个对象),比较是对象的内存地址,只有指向同一个对象时,==才返回true
Person p1 = new Person();
Person p2 = p1;这种情况才会返回true
==操作符比较对象时,两边的数据类型必须兼容,否则会编译出错
equals()方法:
所有类都继承了Object,也就获得了equals()方法
equals只能用来比较引用类型,作用与==相同,判断是否指向同一个对象
特例:对于类File,String,Date,以及包装类(WrapperClass)来说,是比较类型及内容而不考虑引用的是否是同一个对象,因为这些类对Object类的equals()方法进行了重写;因此,如果想改变一个类的equals()方法,可以进行重写;
比如:
String S1 = new String(“abc”);
String S2 = new String(“abc”);
S1 == S2 false
S1.equals(s2) true
String对象的创建
注意字面量赋值时,String s = “”,相同字符串的地址是一样的