太和物联Java面试题及详细答案(真实面试版).docxVIP

  • 1
  • 0
  • 约5.15千字
  • 约 8页
  • 2026-07-11 发布于河北
  • 举报

太和物联Java面试题及详细答案(真实面试版).docx

太和物联Java面试题及详细答案(真实面试版)

一、Java基础高频题(必问)

1、==和equals的区别?日常开发怎么用?

参考答案:

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

日常开发规范:字符串、包装类对比一律用equals;基本类型用==;做空判断的时候,我习惯把常量放前面,比如test.equals(str),避免空指针。

2、自动装箱拆箱原理,以及常见坑?

参考答案:

装箱是基本类型转包装类,拆箱是包装类转基本类型,是编译期自动完成的,本质是编译器自动调用valueOf和intValue等方法。

核心坑点:Integer有缓存机制,-128~127之间的数值,装箱后会复用缓存对象,用==对比为true;超出这个范围会新建对象,==对比为false。开发中包装类对比绝对不用==,统一用equals。

3、String、StringBuilder、StringBuffer的区别,业务选型?

参考答案:

String是不可变字符串,每次拼接都会生成新对象,效率低;StringBuffer和StringBuilder是可变字符串。

区别核心在线程安全:StringBuffer加了synchronized,线程安全但性能

文档评论(0)

1亿VIP精品文档

相关文档