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

  • 1
  • 0
  • 约5.48千字
  • 约 8页
  • 2026-08-15 发布于河北
  • 举报

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

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

一、Java基础核心(必考)

1.讲讲==和equals的区别,日常开发怎么踩坑?

参考答案:

==是比较运算符,基本数据类型比的是数值本身,引用类型比的是内存地址;equals是Object类方法,默认也是比地址,但像String、Integer这些类都重写了,用来比较内容值。

日常最常见的坑有两个:

第一,Integer缓存坑,-128~127之间的Integer对象用==是true,超出这个范围就是false,因为超出范围会新建对象,地址不一样。所以包装类比较值,一律用equals,别图省事用==。

第二,字符串判空比较,新手容易写str.equals(),如果str是null会直接空指针,规范写法是.equals(str)或者先判null。

2.String、StringBuilder、StringBuffer区别?业务场景怎么选?

参考答案:

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

StringBuilder和StringBuffer是可变字符串,不会频繁创建新对象。核心区别是线程安全:StringBuffer所有方法加了synchronized,线程安全但性能差;StringBuilder无锁,

文档评论(0)

1亿VIP精品文档

相关文档