Java工程师面试题(含详细真实答题答案).docxVIP

  • 1
  • 0
  • 约5.59千字
  • 约 9页
  • 2026-08-24 发布于河北
  • 举报

Java工程师面试题(含详细真实答题答案).docx

Java工程师面试题(含详细真实答题答案)

一、Java基础核心(高频必问)

1.说说==和equals的区别?

参考答案:

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

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

日常开发中,字符串对比一律用equals,基本类型判断用==。

2.String、StringBuilder、StringBuffer的区别?

参考答案:

1、String是不可变字符串,底层是final修饰的char数组(JDK9+是byte数组),每次拼接、修改都会生成新对象,频繁操作性能很差。

2、StringBuilder和StringBuffer是可变字符串,不会新建对象。

3、线程安全区别:StringBuffer所有方法都加了synchronized,线程安全但性能低;StringBuilder无锁,线程不安全,性能高。

实际开发选型:单线程字符串拼接用StringBuilder,多线程场景用StringBuffer,常量字符串直接用String。

3.fina

文档评论(0)

1亿VIP精品文档

相关文档