趣味接地气Java面试题(含详细接地气答案).docxVIP

  • 2
  • 0
  • 约3.95千字
  • 约 6页
  • 2026-07-23 发布于河北
  • 举报

趣味接地气Java面试题(含详细接地气答案).docx

趣味接地气Java面试题(含详细接地气答案)

一、基础灵魂坑点(看似入门,80%人答不全)

1.问:==和equals到底有啥区别?为什么String一定要用equals?

通俗答案:

==是“比地址”,equals是“比内容”。

基础类型(int、long、boolean等)只有==,直接比数值,没问题。

引用类型(String、对象、集合)用==,比的是堆内存地址,只要不是同一个对象,直接false,跟内容无关。

举个最常见的坑:

java

Stringa=123;

Stringb=newString(123);

System.out.println(a==b);//false

System.out.println(a.equals(b));//true

面试官追问核心:

String存在字符串常量池,a直接入池,b是new出来的新对象,堆地址不一样,所以==不相等,但内容一样,所以equals相等。

避坑总结:所有业务判断字符串相等,一律用equals,绝对别用==。

2.问:String、StringBuilder、StringBuffer到底差在哪?日常开发怎么选?

通俗答案:

1.String:不可变字符串,一旦创建不能改。每次拼接、修改都会新建一个字符串对象,频繁拼接极度浪费内存、速度慢。

2.Strin

文档评论(0)

1亿VIP精品文档

相关文档