关于 == 和 equals

来源:互联网 发布:微信淘宝链接转换 编辑:程序博客网 时间:2024/06/05 20:19

有时候总会断片一样 忘记这两个的区别,今天就记录一下,加深下印象....


对于基本数据类型   只能使用== 比如 int  定义的变量


int a=1;

int b=1;

system.out.println(a==b);//true

a.equals的话 根本就点不出这个方法


而对于引用类型

String aa="111";

String bb="111";

String cc=new String("111");


System.out.println(aa==bb);//true


System.out.println(aa.equals(bb));//true


System.out.println(aa==cc);//false


System.out.println(aa.equals(cc)); //true


对于aa==cc是false  

因为cc重新New了一个对象出来,cc和aa指向的不是同一个对象

aa是被放在常量区


可能上面说得很乱,总结一下就是


==  对于 基本类型就是比较值的,对于引用类型 是比较地址  是否指向同一个对象

equals 是用来比较引用类型中的内容 是否相同  不关心地址 是否同一对象

0 0