- 2
- 0
- 约4.82千字
- 约 7页
- 2026-10-20 发布于河北
- 举报
华三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)