有时候总会断片一样 忘记这两个的区别,今天就记录一下,加深下印象....
对于基本数据类型 只能使用== 比如 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 是用来比较引用类型中的内容 是否相同 不关心地址 是否同一对象