电信岗Java高频面试题及详细答案(实战接地气版).docxVIP

  • 0
  • 0
  • 约5.85千字
  • 约 7页
  • 2026-11-03 发布于河北
  • 举报

电信岗Java高频面试题及详细答案(实战接地气版).docx

电信岗Java高频面试题及详细答案(实战接地气版)

一、Java基础核心面试题(电信初面必考)

1.讲讲==和equals的区别,日常项目中怎么用?

参考答案:

这两个都是用来做比较判断的,核心区别是比较的内容不一样。

==是比较运算符,基本数据类型用==比较的是数值本身;引用数据类型用==比较的是内存地址,也就是判断两个对象是不是同一个对象。

equals是Object类的方法,默认情况下和==效果一样,也是比较内存地址。但像String、Integer这些常用类,都重写了equals方法,重写后不再比较地址,而是比较对象的内容值是否相等。

实际开发规范:比较字符串、包装类对象内容是否一致,一律用equals;基本类型数值判断用==。另外为了避免空指针,通常会把常量放前面,比如test.equals(str)。

2.String、StringBuilder、StringBuffer的区别?项目中如何选型?

参考答案:

首先String是不可变字符串,一旦创建就不能修改,每次拼接、修改字符串都会生成新的字符串对象,频繁操作会产生大量无用对象,占用内存、降低效率。

StringBuilder和StringBuffer是可变字符串,对象创建后可以直接修改内容,不会频繁创建新对象,适合字符串频繁拼接场景。

两者唯一区别是线程安全

文档评论(0)

1亿VIP精品文档

相关文档