中级Java面试题及详细答案(真实企业版).docxVIP

  • 0
  • 0
  • 约5.96千字
  • 约 9页
  • 2026-08-26 发布于河北
  • 举报

中级Java面试题及详细答案(真实企业版).docx

中级Java面试题及详细答案(真实企业版)

说明:本套面试题适配2-4年Java开发工程师,精选企业高频面试考点,答案贴合实际开发场景,摒弃书面化空话,适配面试口述、笔试答题场景。

一、Java基础核心

1.==和equals的区别是什么?

参考答案:

1、对于基本数据类型:==比较的是变量的实际数值,基本类型没有equals方法。

2、对于引用数据类型:==比较的是对象的内存地址,判断是不是同一个对象;equals是方法,默认也是比较地址,但大部分业务类(String、Integer、自定义实体)都会重写该方法,重写后是比较对象的内容/属性值。

举个例子:newString(a)==a是false,地址不同;newString(a).equals(a)是true,内容相同。

2.String、StringBuilder、StringBuffer的区别?

参考答案:

1、String:不可变字符串,底层是final修饰的字符数组。每次拼接、修改字符串都会生成新对象,频繁操作会产生大量垃圾对象,效率最低。

2、StringBuilder:可变字符串,线程不安全,没有锁机制。单线程环境下字符串拼接、修改首选,效率最高。

3、StringBuffer:可变字符串,线程安全,所有方法都加了synchronized锁。多线程共享场景下使用,效率低于StringB

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档