中兴Java面试高频题及详细答案(实战完整版).docxVIP

  • 0
  • 0
  • 约5.1千字
  • 约 7页
  • 2026-10-15 发布于河北
  • 举报

中兴Java面试高频题及详细答案(实战完整版).docx

中兴Java面试高频题及详细答案(实战完整版)

一、Java基础核心(中兴必问)

1.==和equals的区别?

==是运算符,equals是Object类的方法,二者核心逻辑完全不同。

基本数据类型用==,比较的是变量的实际数值;引用数据类型用==,比较的是对象内存地址。

equals默认源码和==逻辑一致,比较地址。但String、Integer等包装类重写了该方法,重写后只比较对象内容,不比较地址。

实战场景:日常开发中,字符串对比必须用equals,数值包装类对比优先用equals,避免自动装箱拆箱导致的判断异常。

2.重写equals为什么必须重写hashCode?

这是哈希集合(HashMap、HashSet)的底层规范,也是中兴开发编码规范强制要求的点。

1.若两个对象equals相等,hashCode必须相等;

2.若两个对象hashCode相等,equals不一定相等(哈希冲突)。

如果只重写equals不重写hashCode,会出现内容相同的两个对象,hashCode值不同。存入HashMap时会被判定为两个不同对象,导致去重失效、数据存储异常。

简单说:保证相同对象在哈希表中存储位置一致,规避集合数据错乱问题。

3.final、finally、finalize的区别?

final:修

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档