
面试
文章平均质量分 75
Listener-1379
全栈工程师
展开
-
【面试题】为什么重写 equals 时必须重写 hashCode 方法?
同理,我们对象的内存地址为输入,而得出的hashcode为输出。我们在HashMap中存储了一些人的信息,现在来了一个名叫徐老九的人,要在HashMap集合中找到他的信息,如果没有,则将他的信息写入HashMap集合中,如果我们单纯使用equals,则需要从头比较到尾,效率非常低。比如下面的例子,hashMap集合中已经有一个徐老九,但是一个新的徐老九(名字 身高 体重一致,应该认为是同一个对象)与原来的徐老九因为地址不同得出的hashCode不同,从而错误认为信息当中没有徐老九,导致错误发生。原创 2024-04-16 15:56:52 · 915 阅读 · 0 评论 -
【面试题】s += 1 和 s = s + 1的区别
很长一段时间内我也是这么觉得,因为当时学习c语言的时候教科书上将s += 1转换成s = s + 1帮助我们去理解,所以我将这个迁移到了java语言当中。但是直到遇到了一个有意思的题目,于是亲自在idea中去测试了一下,结果发现s += 1 没有报错,而 s = s + 1报错了。本博客中未标明转载的文章归作者Beyong有,欢迎转载,但未经作者同意必须保留此段声明,且在文章明显位置给出原文连接,否则保留追究法律责任的权利。github地址:https://github.com/beyong2019。原创 2024-04-14 17:42:46 · 7909 阅读 · 17 评论