JAVA 必知 ==和equals方法的区别你知道吗

==

==比较基本数据类型时比较的是值是否相等,比较引用类型时比较的是对象的地址值是否相同,也就是否是同一对象。

equals

未重写的equals方法调用的是Object的方法,用法 和 == 一样,重写后的equals方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。

例如以下的代码:

String a=new String(“abc”);
String b=new String(“abc”);
两条new语句创建了两个对象,然后用a和b这两个变量分别指向了其中一个对象,
这是两个不同的对象,它们的地址是不同的,所以表达式a==b将返回false,
而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回true.
String这个类重写过equals方法, StringBuffer,StringBuilder未重写过equals方法.

猜你喜欢

转载自blog.csdn.net/qq_47776903/article/details/107761947
今日推荐