- 1
- 0
- 约5.13千字
- 约 8页
- 2026-08-25 发布于河北
- 举报
Java实习生面试高频题及详细答案(真实职场版)
一、Java基础语法高频题
1、String、StringBuilder、StringBuffer的区别?日常开发怎么选?
详细答案:
首先核心区别在于可变性和线程安全:
String是不可变字符串,一旦创建就不能修改,每次拼接、修改字符串都会生成一个新的String对象,频繁操作会产生大量无用对象,占用内存。
StringBuilder和StringBuffer是可变字符串,底层是字符数组,修改时不会新建对象,效率更高。其中StringBuffer加了同步锁,是线程安全的,但执行速度慢;StringBuilder没有锁,线程不安全,速度最快。
开发选择原则:
1.字符串极少修改、仅做赋值、常量定义,直接用String;
2.单线程下频繁拼接、修改字符串(比如循环拼接),优先用StringBuilder;
3.多线程环境下操作字符串,必须用StringBuffer,避免并发异常。
2、==和equals()的区别是什么?
详细答案:
==是比较运算符,有两种使用场景:
基本数据类型:比较的是变量的实际数值;
引用数据类型:比较的是对象的内存地址,也就是判断是不是同一个对象。
equals()是Object类的方法,默认情况下和==效果一样,也是比较内存地址。但像String、In
您可能关注的文档
最近下载
- 《中华人民共和国村民委员会组织法》培训与解读课件.pptx VIP
- 2021年恒大集团领导客史记录总表.xlsx VIP
- 申论答题专业稿纸A4电子版(可打印)(25X24共600字).pdf
- TCAWS 0007―2026 安全管理标准化班组评定通用要求.pdf VIP
- (2020年)中成药治疗慢性肾脏病3~5期(非透析)临床应用指南培训.pptx VIP
- 仪器(第三版魏培海)第七章色谱法及答案.ppt VIP
- 2024年世界卫生组织慢性乙型肝炎患者的预防、诊断、关怀和治疗指南.pptx VIP
- 物理竞赛中的微积分.docx VIP
- 燃气工程制图标准CJJT130-2009.doc VIP
- 算力基础设施窗口指导政策深度解析.docx VIP
原创力文档

文档评论(0)