- 2
- 0
- 约1.23万字
- 约 12页
- 2026-06-08 发布于河北
- 举报
Java理论面试题及详细答案
一、基础核心类(高频必问)
1.说说Java中的equals()和==的区别?
答案:这是面试最基础也最容易踩坑的题,核心区别就两点,不绕弯子:
1.==是运算符,分两种情况:如果比较的是基本数据类型(int、char、long等),比较的是具体的数值;如果比较的是引用数据类型(类、对象、数组),比较的是内存地址(也就是两个引用是否指向同一个对象)。
2.equals()是Object类的方法,默认实现其实就是==(源码里equals()就是returnthis==obj;),但很多类(比如String、Integer)都重写了equals()方法,重写后比较的是对象的内容,而不是内存地址。
举个实际例子:Strings1=abc;Strings2=newString(abc);这里s1==s2是false(s1指向常量池,s2指向堆内存,地址不同),但s1.equals(s2)是true(内容都是abc)。
注意:重写equals()必须重写hashCode(),否则会导致HashMap、HashSet等集合存储数据时出现异常(比如两个equals()相等的对象,hashCode()不同,会被当成两个不同元素)。
2.String、StringBuffer、StringBuilder的区别?实际开发中怎么选
您可能关注的文档
- Java安全试题及详细答案.docx
- Java编译日志面试题及详细答案(实战向).docx
- Java并发编程笔试面试试题(含详细答案).docx
- Java测试笔试题及详细答案.docx
- Java常见面试题及详细答案.docx
- Java常问面试题及详细答案.docx
- Java常用考试题及详细答案.docx
- Java程序员笔试题库及详细答案.docx
- Java大数据笔试题及详细答案.docx
- Java高并发高频面试题(真实面试版+详细答案).docx
- JJF(苏)50-2024 水泥混凝土稠度试验仪校准规范.docx
- 河北省南埝峪一带金矿成矿规律及成矿条件分析.pdf
- 以睡眠障碍为首发症状的自身免疫性脑炎的临床特征分析.pdf
- 数智时代编辑的角色重构、能力重塑与生态重建策略探析.pdf
- JJF(苏)256-2023 液化天然气加气机检定装置校准规范.docx
- JJF(苏)249-2021 干液两用温度校验炉校准规范.docx
- JJF(苏)243-2021 分布光度计校准规范.docx
- JJF(赣)052-2025 真空冷冻干燥机校准规范.docx
- 高职英语课程思政教学“三建三融三提升”改革策略探析.pdf
- JJF(苏)268-2024 磁通门电流传感器校准规范.docx
原创力文档

文档评论(0)