Java 中 == 和 equals() 有什么区别?
How are == and equals() different in Java?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: easy
分类: Java
标签: equals, hashCode, 引用比较
参考答案摘要
答案 == 对对象比较的是引用是否相同(是否指向同一内存地址),对基本类型比较的是值;equals() 默认也是引用比较,但很多类会重写为内容比较(如String)。若重写 equals(),必须遵守 hashCode() 约定:equals相等的对象 hashCode 必须相等,否则在HashMap/HashSet等结构中会出错。
答题技巧
技术面试题建议先理清思路再作答,从基础概念讲起,逐步深入。可以结合实际项目经验解释技术原理,展示你的理解深度和实践能力。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案、收藏题目并进行模拟面试练习。