- 0
- 0
- 约3.47千字
- 约 5页
- 2026-08-24 发布于河北
- 举报
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)