==和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()的主要内容,如果未能解决你的问题,请参考以下文章