- 1
- 0
- 约5.61千字
- 约 8页
- 2026-07-27 发布于河北
- 举报
Java工程师真实面试题(附接地气详细答案)
一、Java基础核心(高频必问)
1、==和equals的区别是什么?
参考答案:
==是运算符,equals是Object类的方法,核心区别分两种场景:
1)基本数据类型:==比较的是数值是否相等,基本类型没有equals方法;
2)引用数据类型:==比较的是对象的内存地址,也就是是不是同一个对象;equals默认也是比较地址,但很多类会重写这个方法。
比如String、Integer、ArrayList这些常用类,都重写了equals,重写后比较的是对象内容是否一致,不再比较地址。
举个实战例子:newString(a)==a是false,地址不一样;但两个字符串用equals一定是true。
2、String、StringBuilder、StringBuffer的区别?日常开发怎么选?
参考答案:
1)String:字符串不可变,每次拼接、修改都会生成新字符串对象,频繁操作会产生大量垃圾对象,效率最低;
2)StringBuffer:可变字符串,线程安全,所有方法都加了synchronized锁,并发场景安全,但性能稍差;
3)StringBuilder:可变字符串,线程不安全,没有锁,性能最高。
开发选型:
日常单线程业务、接口拼接字符串、循环拼接,一律用StringBuilder;多线程共享变量操作
您可能关注的文档
最近下载
- 太极拳运动的中医理论诠释.pdf VIP
- 《养老护理员》——课件:为老年人翻身、扣背促进排痰.pptx VIP
- T_GDMDMA 0044-2025 一次性使用血液灌流器的临床使用指南.docx VIP
- 建筑施工扣件式钢管脚手架安全技术规范(JGJ130-2025修订版,附操作指南).docx VIP
- DGTJ08-2365-2021 建筑浮筑楼板保温隔声系统应用技术标准.pdf VIP
- 《电力重大事故隐患判定标准及治理监督管理规定》2026.pdf VIP
- 日立电梯VGE 电气原理图.pdf VIP
- 直播电商平台商家入驻管理制度.docx VIP
- 第二章 水电解质及酸碱代谢失衡病人的护理.ppt VIP
- Unit 2 My feelings Part B Read and write&Part C课件英语人教PEP版五年级上册2025.ppt
原创力文档

文档评论(0)