Java综合面试题(真实职场版+详细干货答案).docxVIP

  • 2
  • 0
  • 约5.44千字
  • 约 9页
  • 2026-07-27 发布于河北
  • 举报

Java综合面试题(真实职场版+详细干货答案).docx

Java综合面试题(真实职场版+详细干货答案)

一、Java基础核心(高频必问)

1.讲讲==和equals的区别?

参考答案:

1、==是运算符,既可以比较基本数据类型,也可以比较引用类型。

-基本类型:比较的是数值本身是否相等;

-引用类型:比较的是对象内存地址是否相同,也就是是不是同一个对象。

2、equals是Object类的方法,默认只能比较引用类型。

-Object默认实现和==一样,比较地址;

-String、Integer等类重写了equals,改成了比较内容值是否相等。

日常开发中:比较字符串内容一律用equals,避免==导致的常量池坑。

2.String、StringBuilder、StringBuffer的区别?

参考答案:

1、String:不可变字符串,底层是final修饰的char数组(JDK9后是byte数组)。每次拼接、修改都会生成新对象,频繁操作性能差。

2、StringBuilder:可变字符串,线程不安全,效率高。日常单线程字符串拼接优先用它。

3、StringBuffer:可变字符串,所有方法加了synchronized,线程安全,但是效率低。

实战总结:单线程拼接用StringBuilder,多线程共享变量拼接用StringBuffer,常量字符串直接用String。

3.重载和重写的区别?

参考答案:

重载

文档评论(0)

1亿VIP精品文档

相关文档