- 2
- 0
- 约6.06千字
- 约 9页
- 2026-07-29 发布于河北
- 举报
互联网大厂高频面试题(手写完整版+接地气详细答案)
一、Java基础核心(必问)
1.==和equals的区别?(高频基础题)
手写答案:
首先,==是运算符,equals是Object类的方法。
1、对于基本数据类型:==比较的是数值本身,基本类型没有equals方法。
2、对于引用数据类型:==比较的是内存地址,也就是判断是不是同一个对象;默认的equals方法本质和==一样,也是比较地址。
3、像String、Integer这些常用类,都重写了equals方法,重写后不再比较地址,而是比较对象内部的内容值。
举个实际例子:newString(a)==a是false,因为地址不同;但equals是true,因为内容一样。
面试加分补充:日常开发中,字符串比较一律用equals,避免空指针的话可以把常量放前面,比如test.equals(str)。
2.String、StringBuilder、StringBuffer的区别?
手写答案:
1、String是不可变字符串,底层是final修饰的字符数组(JDK9+是字节数组)。每次拼接、修改字符串都会生成新对象,频繁操作会产生大量垃圾对象,效率最低。
2、StringBuilder和StringBuffer是可变字符串,修改不会新建对象,底层数组可扩容
您可能关注的文档
最近下载
- 施工进度计划和进度保证措施.doc VIP
- 点击下载宏山激光切割机_用户手册.ppt VIP
- BTK抑制剂治疗原发免疫豁免部位大B细胞淋巴瘤的研究进展2024.pdf VIP
- 质量与质量监督.pptx VIP
- 二年级数学暑假每日一练.pdf VIP
- 风险分级管控.pptx VIP
- DB37T 3000-2017林木种质资源采集技术规程.pdf VIP
- 数控系统NCSTUDIO编程培训教程_图文.ppt VIP
- 宣贯培训(2026年)《JBT 8521.1-2025编织吊索 安全性 第1部分:一般用途合成纤维扁平吊装带》.pptx VIP
- 多功能电力监测仪表DPM-C530A使用手册.PDF VIP
原创力文档

文档评论(0)