程序员通用笔试面试高频题(含详细落地答案).docxVIP

  • 0
  • 0
  • 约4.7千字
  • 约 7页
  • 2026-08-15 发布于河北
  • 举报

程序员通用笔试面试高频题(含详细落地答案).docx

程序员通用笔试面试高频题(含详细落地答案)

一、Java基础高频题(通用开发必问)

1.==和equals的区别是什么?

答案:

1、==是比较运算符,基本数据类型比较的是数值本身,引用数据类型比较的是内存地址。

2、equals是Object类的方法,默认底层和==一致,也是比较地址。但String、Integer等包装类重写了该方法,重写后只比较内容值,不比较地址。

3、日常开发中,字符串对比必须用equals,避免地址不同导致判断错误;基本类型直接用==。

2.String、StringBuilder、StringBuffer的区别?

答案:

1、String:不可变字符串,底层是final字符数组。每次拼接、修改都会生成新对象,频繁操作性能差,适合少量固定字符串。

2、StringBuilder:可变字符串,线程不安全,效率高。单线程频繁字符串拼接首选。

3、StringBuffer:可变字符串,方法加了synchronized,线程安全,效率低。多线程共享字符串场景使用。

核心总结:少量固定用String,单线程拼接用StringBuilder,多线程用StringBuffer。

3.重载和重写的区别?

答案:

重载(Overload):发生在同一个类中,方法名相同,参数列表(个数、类型、顺序)不同,和返回值、访问修饰符无

文档评论(0)

1亿VIP精品文档

相关文档