- 博客(4)
- 收藏
- 关注
原创 重写equals为什么要重写hashcode方法
在object类中hashcode和equals是具有相同表现的 如果两个对象equals为F那么地址不一样,从而hashcode也不一样 相同的内容经过计算hash码是一样的 但是由于现在hash算法的的局限性不同的内容算出来的hash码也可能是一样的 如果两个对象的equals相等那么他的hashcode一定一样 如果两个对象的hashcode一致,那么两个对象equals不一定一样 所以在重写equals方法时也要重写hashcode方法 ...
2021-08-12 20:21:22 79
原创 java中关于==与equals的区别
在基础数据类型被创建时,会在开辟的内存中直接放入所赋予的值,所以在用==比较基础数据类型时比较的是这两个对象的值是否相等,而在引用数据类型被创建时会开辟一个空间存放对象然后在要给对象赋值时会将值新开辟空间而赋值的过程则是对内存地址的指向的操作,所以在用==比较引用数据类型的时候比较的是这两个对象所指向的内存地址是否相同 而equals则是在父类object中所定义的方法,在不同的引用数据类型中所调用时会有不同的效果,如在String中就是先判断地址是否相同,然后再判断值是否相同 这就是==和equals
2021-08-11 23:46:47 65
原创 java中关于值的改变
在大家日常开发中是否遇到过明明调用了方法改变了值,到最后却没有改变成功的样例出现呢 现在请大家先看一下代码 public class mian { public static void main(String[] args) { Student a = new Student(); Student b = new Student(); a.setName("zhangsan"); b.setName("lisi");
2021-08-11 23:27:40 319
原创 128陷阱
说起128陷阱可能大家都知道是这个词但是什么是128陷阱呢? 那么请大家先看一段代码 大家猜猜看应该会输出什么呢 这样应该大家都可以想到,那么这样呢 那么它的输出会是什么呢 是的一个true一个false 为什么明明是一样的两个数会输出false呢 那么咱们再去剖析一下看一看 这就是它的分界点了,也是我们经常说的128陷阱问题 但为什么是128这个数字呢 我们大家可以看一下这段代码 private static class IntegerCache {...
2021-08-11 22:48:22 73
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人