程序员跳槽面试真题(含详细接地气答案).docxVIP

  • 1
  • 0
  • 约5.2千字
  • 约 7页
  • 2026-09-14 发布于河北
  • 举报

程序员跳槽面试真题(含详细接地气答案).docx

程序员跳槽面试真题(含详细接地气答案)

一、Java基础核心面试题

1.说说==和equals的区别?(高频必问)

详细答案:

==是比较运算符,equals是对象方法,核心区别就两点:比较的内容不一样、适用场景不一样。

基本数据类型用==,直接比的是数值本身,比如int、long、boolean这些,只要值相等就返回true。

引用数据类型用==比的是内存地址,也就是判断两个对象是不是同一个对象,不是比内容。

而equals是Object类的方法,默认实现也是比较内存地址。但像String、Integer这些常用类,都重写了equals方法,重写后只比对象内容,不比地址。

日常开发里,字符串、对象内容对比一律用equals,基本类型判断用==。另外注意:调用equals一定要把常量放前面,比如abc.equals(str),避免空指针。

2.String、StringBuilder、StringBuffer的区别?

详细答案:

首先String是不可变字符串,一旦创建就不能修改。我们平时写的字符串拼接,本质是新建了新的字符串对象,频繁拼接会产生大量垃圾对象,效率很低。

StringBuilder和StringBuffer是可变字符串,底层是char数组,修改不会新建对象,适合频繁拼接场景。

两者最大区别是线程

文档评论(0)

1亿VIP精品文档

相关文档