华三Java面试高频题及详细答案(真实职场版).docxVIP

  • 2
  • 0
  • 约4.82千字
  • 约 7页
  • 2026-10-20 发布于河北
  • 举报

华三Java面试高频题及详细答案(真实职场版).docx

华三Java面试高频题及详细答案(真实职场版)

一、Java基础核心(华三必考)

1、==和equals的区别?

==是比较运算符,既可以比较基本数据类型,也可以比较引用数据类型。基本类型比较的是数值本身,引用类型比较的是对象的内存地址。

equals是Object类的方法,默认情况下和==效果一致,比较对象地址。但像String、Integer这类常用类都重写了该方法,重写后是直接比较对象的内容值,而非地址。

日常开发中,字符串对比、对象内容对比一律用equals,基本数值对比用==。

2、String、StringBuilder、StringBuffer的区别?

String是不可变字符串,底层是final修饰的字符数组,每次拼接字符串都会生成新对象,频繁拼接性能差。

StringBuffer和StringBuilder是可变字符串,底层数组可扩容,拼接不会产生新对象。其中StringBuffer加了synchronized锁,线程安全但性能偏低;StringBuilder无锁,线程不安全,性能最高。

实际开发场景:少量字符串拼接用String;单线程大量拼接用StringBuilder;多线程场景拼接用StringBuffer。

3、final、finally、finalize的区别?

final是修饰符,修饰变量

文档评论(0)

1亿VIP精品文档

相关文档