==和equals()

Posted jaci

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了==和equals()相关的知识,希望对你有一定的参考价值。

==和equals()

1.==是操作符,equals()是超类Object()中的方法

2.对于基本数据类型,只有==,没有equals(),String不是基本数据类型,很明显值相等为true。

3.对于字符串,==比较的是两者之间的内存地址,equals()则是重写了Object()类的equals()方法,比较的是内容。对于字符串是存放在方法区的字符串常量池里的,无论定义多少,只要字符串值相等都指的同一块内存地址,所以==和equals()结果没差别。

4.对于实例对象,==比较的是两者之间的内存地址(==什么情况都在比较地址),equals()默认重写Object()类的equals()方法(比较地址),一般我们会自己重写equals(),比较值是否相等。

 

以上是关于==和equals()的主要内容,如果未能解决你的问题,请参考以下文章

equals和hashcode

equals和==的区别

equals和==区别 ,equals和hashcode区别

JAVA中的equals()

equals方法

关于equals()和==区别