大厂Offer面试高频题(真实口语化答案版).docxVIP

  • 3
  • 0
  • 约3.78千字
  • 约 6页
  • 2026-06-16 发布于河北
  • 举报

大厂Offer面试高频题(真实口语化答案版).docx

大厂Offer面试高频题(真实口语化答案版)

一、Java基础高频题

1.==和equals的区别?

简单说,==是直接比内存地址,基本数据类型比数值,引用类型比对象地址。equals是String、Integer这类重写后的方法,专门用来比内容是否一样。

举个实际场景:newString(a)==a是false,因为一个是堆对象,一个是常量池地址;但equals就是true,因为内容相同。日常开发判断字符串相等,一律用equals,避免空指针就先判空或者用Objects.equals。

2.String、StringBuilder、StringBuffer区别?

String是不可变的,每次拼接都会生成新字符串,频繁拼接非常耗内存。

StringBuilder线程不安全、效率高,日常开发单线程拼接优先用这个。

StringBuffer加了synchronized锁,线程安全但性能差,现在基本很少用,只有老代码多线程场景能见到。

实际开发规范:循环内字符串拼接,绝对不用+,统一用StringBuilder。

3.重载和重写的区别?

重载是同一个类里,方法名一样,参数个数、类型、顺序不一样,和返回值、修饰符没关系,属于编译期多态。

重写是子类覆盖父类的方法,方法名、参数列表、返回值必须一致,权限不能比父类更严格,不能抛出更宽

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档