==和equals()

==和equals()

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

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

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

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

 

posted @ 2019-08-26 22:21  一只嘟嘴的鱼  阅读(125)  评论(0编辑  收藏  举报