这个"=="是我过去常踩的坑了,突然想起来确实挺有意思的:
比较的是值
1.如果比较的是基本数据类型,比较的则是变量值
2.如果比较的为引用数据类型,比较的则是地址值
没想到吧,像String这种比较的其实是地址,老惨了.
equals比较的是引用数据类型
1.如果没有重写hashCode和equals方法,比较的是地址值。因为Object的equals方法中使用是"=="。
2.如果重写hashCode和equals方法,则比较的重写后的规则。
例如:两个String字符串比较时:比较的是内容。因为String底层重写了equals方法进行内容的比较。