太和物联Java后端面试题(含详细接地气答案).docxVIP

  • 0
  • 0
  • 约6.45千字
  • 约 9页
  • 2026-07-11 发布于河北
  • 举报

太和物联Java后端面试题(含详细接地气答案).docx

太和物联Java后端面试题(含详细接地气答案)

一、Java基础核心(必考)

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

答案:

==是运算符,既可以比较基本数据类型,也可以比较引用类型。基本类型比较的是数值本身,引用类型比较的是对象的内存地址。

equals是Object类的方法,默认也是比较地址,但String、Integer这类常用类重写了该方法,重写后是比较对象的内容、数值是否一致。

日常开发规范:基本类型直接用==;字符串、包装类、自定义对象对比内容,一律用equals。另外做字符串对比时,我都会把常量放前面,避免空指针,比如123.equals(str)。

2、String、StringBuilder、StringBuffer的区别?物联网场景怎么选?

答案:

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

StringBuilder和StringBuffer是可变字符串,底层是字符数组,拼接不会新建对象。区别在于线程安全:StringBuffer所有方法加了synchronized,线程安全但效率低;StringBuilder无锁,线程不安全、效率高。

实际项目(太和物联设备数据解析场景):单线程处理设备报文、拼接日志、组装协议报文,统一用StringBuilder;只有多线

文档评论(0)

1亿VIP精品文档

相关文档