- 1
- 0
- 约3.93千字
- 约 7页
- 2026-07-27 发布于河北
- 举报
Java高频面试题(真实面试版·含详细答案解析)
一、Java基础核心(高频必问)
1.说说==和equals的区别?
标准答案:
==是比较运算符,基本数据类型比较的是数值本身,引用数据类型比较的是对象的内存地址;
equals是Object类的方法,默认实现和==一致,比较对象地址,但像String、Integer这类常用类都重写了该方法,重写后是比较对象的内容值。
详细解析:
1.基本类型(int、long、boolean等)只能用==,没有equals方法;
2.自定义对象如果不重写equals,调用的是Object原生方法,依然比较地址;
3.日常开发中,字符串对比必须用equals,避免地址判断导致的bug。
2.String、StringBuilder、StringBuffer的区别?
标准答案:
String是不可变字符串,每次拼接都会生成新对象,效率最低;
StringBuilder可变字符串,线程不安全,拼接效率最高,单线程使用;
StringBuffer可变字符串,方法加了synchronized锁,线程安全,多线程使用,效率偏低。
详细解析:
1.String底层是final修饰的char数组(JDK9后是byte数组),一旦创建无法修改;
2.循环拼接字符串绝对不能用String,会产生大量废弃对象,触发GC
您可能关注的文档
最近下载
- 加拿大BW气体检测仪GAXT系列用户手册10多种气体可选.pdf VIP
- 电器配线&现场设定.ppt VIP
- 2026年医疗卫生行业结构化面试行业试题及答案.docx
- T_CEEIA 921-2025(单相浸没式绝缘冷却液).pdf
- (2026)护理不良事件管理PPT课件.pptx VIP
- 舌诊(PPT电子版共66页可打印编辑).pptx VIP
- 大金VRV3电器配线与现场设定.ppt VIP
- 西门子S7-200-SMART-PLC编程及应用教程.ppt VIP
- hpmont海浦蒙特 HC10系列智能控制器-IO扩展模块安装使用手册V1.1.pdf VIP
- 常用的降压药有哪五大类药.pptx VIP
原创力文档

文档评论(0)