java基础------==和equals的区别

来源:互联网 发布:手机vr眼睛 软件 编辑:程序博客网 时间:2024/05/17 12:48

==equals区别

== 实质比较的是二进制位


1.==两边是基本类型的情况

int a = 10;

int b = 20;

System.out.println(a==b);//false

 

2.==两边是引用类型的情况

比较的是地址,其实比较的是引用的是否是同一个对象,如果引用的是同一个对象就是true,不是同一个对象就是false

 


equals

没有重写equals时用object类的equals,实际还是==

String类的equals,比较的是字面值,如果字面值相同,返回true,不相同返回false


intern()方法

s1.intern()的意思 s1指向的堆里的对象对应的真正的常量池中字面值的地址1

原创粉丝点击