- 1
- 0
- 约5.48千字
- 约 8页
- 2026-08-15 发布于河北
- 举报
程序员中级面试真题(含详细接地气答案)
一、Java基础核心(必考)
1.讲讲==和equals的区别,日常开发怎么踩坑?
参考答案:
==是比较运算符,基本数据类型比的是数值本身,引用类型比的是内存地址;equals是Object类方法,默认也是比地址,但像String、Integer这些类都重写了,用来比较内容值。
日常最常见的坑有两个:
第一,Integer缓存坑,-128~127之间的Integer对象用==是true,超出这个范围就是false,因为超出范围会新建对象,地址不一样。所以包装类比较值,一律用equals,别图省事用==。
第二,字符串判空比较,新手容易写str.equals(),如果str是null会直接空指针,规范写法是.equals(str)或者先判null。
2.String、StringBuilder、StringBuffer区别?业务场景怎么选?
参考答案:
String是不可变字符串,每次拼接、修改都会生成新对象,频繁操作会产生大量垃圾对象,效率最低。
StringBuilder和StringBuffer是可变字符串,不会频繁创建新对象。核心区别是线程安全:StringBuffer所有方法加了synchronized,线程安全但性能差;StringBuilder无锁,
您可能关注的文档
最近下载
- 2020施耐德ATV303变频器安装编程手册.docx
- 国华风电项目节地报告20220913.pdf VIP
- 小学生常用500字字帖带拼音硬笔正楷A4打印.pdf VIP
- 高血糖特殊膳食用食品标准.pdf VIP
- 2026年4月自考00097外贸英语写作试题及答案.pdf VIP
- 小学科学新教科版四年级上册第三单元 声音教案(2026秋版).doc
- 插件元件手工焊接实训.pptx VIP
- 建筑工程施工现场临时设施标准化图集.pdf
- ASQ Z1.4 2003(R2018)抽样计划最新版.pdf VIP
- Unit 2 Section B 单词讲解课件 2026-2027学年人教版新教材九年级英语上册.pptx VIP
原创力文档

文档评论(0)