Java中"=="与equals的区别

这个"=="是我过去常踩的坑了,突然想起来确实挺有意思的:


比较的是值
1.如果比较的是基本数据类型,比较的则是变量值
2.如果比较的为引用数据类型,比较的则是地址值

没想到吧,像String这种比较的其实是地址,老惨了.


equals比较的是引用数据类型
1.如果没有重写hashCode和equals方法,比较的是地址值。因为Object的equals方法中使用是"=="。
2.如果重写hashCode和equals方法,则比较的重写后的规则。
例如:两个String字符串比较时:比较的是内容。因为String底层重写了equals方法进行内容的比较。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章