Java经典面试题及答案(真实面试版).docxVIP

  • 0
  • 0
  • 约3.47千字
  • 约 5页
  • 2026-08-24 发布于河北
  • 举报

Java经典面试题及答案(真实面试版).docx

Java经典面试题及答案(真实面试版)

一、Java基础核心

1.==和equals的区别?

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

equals是Object类的方法,默认和==一样比较地址。像String、Integer这些类重写了equals,改成了比较内容值。

日常开发中,字符串对比一律用equals,避免空指针可以先判空或者用Objects.equals。

2.String、StringBuilder、StringBuffer的区别?

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

StringBuilder可变、线程不安全、效率高,单线程拼接优先用它。

StringBuffer可变、加了synchronized锁、线程安全、效率低,多线程场景才用。

3.基本数据类型和包装类的区别?

基本类型是八种基础类型,存放在栈内存,默认有默认值,不用new,效率高。

包装类是对象,存放在堆内存,默认值是null,提供了大量工具方法,支持泛型存储。

还有自动装箱拆箱机制,基本类型和包装类可以自动转换,但要注意Integer缓存问题,-128~127范围内对象复用,超出范围新建对象。

4.重载和重写的区别?

重载:发生在同一个类中,方法名相同,参数个数、类型、顺序不同,和返

文档评论(0)

1亿VIP精品文档

相关文档