Java高级工程师笔试面试试题及详细答案(企业真实版).docxVIP

  • 1
  • 0
  • 约6.04千字
  • 约 10页
  • 2026-07-27 发布于河北
  • 举报

Java高级工程师笔试面试试题及详细答案(企业真实版).docx

Java高级工程师笔试面试试题及详细答案(企业真实版)

适用岗位:Java高级工程师|适用场景:笔试、技术面试、内部定级考核|难度:中高级

一、Java基础核心(高频进阶)

1.说一说==和equals()的区别,以及hashCode()和equals()的关联

标准答案:

1)==是运算符:

-基本数据类型:比较数值是否相等;

-引用数据类型:比较对象的内存地址是否相同。

2)equals()是Object类方法:

-原生Object的equals()本质就是==,比较地址;

-String、Integer等包装类重写了equals(),用于比较对象内容是否相等。

3)hashCode()与equals()规范:

-重写equals()必须重写hashCode(),否则会导致HashMap、HashSet等哈希集合存储异常;

-两个对象equals()相等,hashCode()必须相等;

-hashCode()相等,对象不一定equals()相等(哈希碰撞)。

2.String、StringBuilder、StringBuffer的区别及使用场景

标准答案:

1)String:不可变字符串,底层final字符数组,每次拼接都会生成新对象,频繁拼接性能差;

2)StringBuffer:可变字符串,线程安全(方法加synchroni

文档评论(0)

1亿VIP精品文档

相关文档