- 1
- 0
- 约3.8千字
- 约 6页
- 2026-07-27 发布于河北
- 举报
Java高频面试易错题(零基础不会做专属+通俗详细答案)
一、Java基础核心易错题
1、String、StringBuilder、StringBuffer的区别?(90%新手答不全)
正确详细答案:
首先核心记住一句话:String不可变,后两个可变;Buffer线程安全,Builder不安全。
1.String:字符串常量,一旦创建就不能修改。我们平时写的字符串拼接,本质不是修改原字符串,是每次都会新建一个新的字符串对象,效率很低,频繁拼接代码绝对不用它。
2.StringBuilder:字符串可变容器,没有加锁,线程不安全,多线程环境下会出问题。但是速度最快,日常开发中单线程拼接字符串,优先用它。
3.StringBuffer:也是可变容器,方法都加了synchronized锁,线程安全。但因为加锁,执行速度变慢,现在基本只有老项目还在使用,新项目几乎不用。
面试极简总结:单线程拼接用Builder,多线程用Buffer,常量字符串用String。
2、==和equals()的区别?(新手必错题)
正确详细答案:
1.==是比较运算符:
基本数据类型:比较的是数值本身是否相等;
引用数据类型(对象、字符串):比较的是内存地址,不是内容。
2.equals()是Object类的方法:
原生默认和==一样,也是比较内存地址;但String、Integ
原创力文档

文档评论(0)