equals和==的区别?和equals及hashCode 为什么重写要一起重写

我也踩过这个坑( 1 )
spring
mybatis
详细描述
编辑于2025-05-17
-
[郑州|荣耀师兄]JAVA-茹程远
0从object里的equals,就是用==来实现的对于JAVA基础类型==比较的就是变量真正的值对于JAVA自带的包装类型例如String,Long等,==比较的是内存中的存放地址,而equals比较的是值。对于自定义的类型,equals继承的是object的方法,所以比较的是内存的地址。string是一个特殊的引用类型。对于两个字符串的比较,不管是==和Equals这两者比较的都是字符串是否相同;为什么要重写hashCode?JAVA本身的hashCode()方法用的本地,作用是返回内存地址。equals如果不重写,继承Object,则也比较的是内存的地址而且hashCode有以下规则:1.在Java应用程序执行期间,在对同一... 查看全部>编辑于2018-03-27
- 去第 页