迪安诊断Java面试题及详细答案(真实面试版).docxVIP

  • 1
  • 0
  • 约5.56千字
  • 约 9页
  • 2026-08-19 发布于河北
  • 举报

迪安诊断Java面试题及详细答案(真实面试版).docx

迪安诊断Java面试题及详细答案(真实面试版)

一、Java基础核心(必问)

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

答案:

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

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

日常开发规范:字符串、包装类对比内容一律用equals;为了避免空指针,一般写成常量在前,比如.equals(str)。

2、String、StringBuilder、StringBuffer区别?项目中怎么选型?

答案:

String是不可变字符串,每次拼接都会生成新对象,频繁拼接性能差。

StringBuffer线程安全、效率低,方法加了synchronized锁;StringBuilder非线程安全、效率高。

选型:日常业务代码单线程场景全部用StringBuilder;多线程共享字符串拼接场景用StringBuffer;固定不变的文本、配置直接用String。

迪安项目场景:检验报告文本拼接、日志组装全部用StringBuilder。

3、static关键字的用法和特点?能不能修饰局部变量?

答案:

static可以修饰类变量、静态方法、静态代码块、静态内部类,不能修饰局部变量。

核心特点:静

文档评论(0)

1亿VIP精品文档

相关文档