双等号
基本数据类型:java中byte,short,char,int,long,float,double,boolean。他们之间的比较,应用双等号 (==), 比较的是它们的值。
对于引用数据类型(对象):当它们(==)进行比较的时候,比较的是他们在内存中的存放地址,即就是两个参与比较的对象是否是一个。
equals
equals用来比较的是两个对象的内容是否相等。如:
String aa=new String("hello"); //创建一个新的对象
String bb="hello";
String cc="hello";
if(aa==bb){ //false
System.out.println("aa和bb是同一个对象");
}
if(bb==cc){ //true ,由对象池中直接使用
System.out.println("bb和cc是同一个对象");
}
if(aa.equals(bb)){ //true
System.out.println("aa和bb内容相同");
}
注意:使用equals前,比较必须先判断变量是否为NULL,否则会报空指针错误。
说明: ==只是比较引用,速度比equals快