互联网大厂高频面试题(手写完整版+接地气详细答案).docxVIP

  • 2
  • 0
  • 约6.06千字
  • 约 9页
  • 2026-07-29 发布于河北
  • 举报

互联网大厂高频面试题(手写完整版+接地气详细答案).docx

互联网大厂高频面试题(手写完整版+接地气详细答案)

一、Java基础核心(必问)

1.==和equals的区别?(高频基础题)

手写答案:

首先,==是运算符,equals是Object类的方法。

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

2、对于引用数据类型:==比较的是内存地址,也就是判断是不是同一个对象;默认的equals方法本质和==一样,也是比较地址。

3、像String、Integer这些常用类,都重写了equals方法,重写后不再比较地址,而是比较对象内部的内容值。

举个实际例子:newString(a)==a是false,因为地址不同;但equals是true,因为内容一样。

面试加分补充:日常开发中,字符串比较一律用equals,避免空指针的话可以把常量放前面,比如test.equals(str)。

2.String、StringBuilder、StringBuffer的区别?

手写答案:

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

2、StringBuilder和StringBuffer是可变字符串,修改不会新建对象,底层数组可扩容

文档评论(0)

1亿VIP精品文档

相关文档