- 1
- 0
- 约5.25千字
- 约 9页
- 2026-08-24 发布于河北
- 举报
Java开发高频面试题(含真实口语化详细答案)
一、Java基础核心(必问)
1.说说==和equals的区别?
答案:
==是比较运算符,对于基本数据类型,直接比较值是否相等;对于引用类型,比较的是对象的内存地址,也就是判断是不是同一个对象。
equals是Object类的方法,默认情况下和==效果一样,也是比较地址。但是像String、Integer这些类都重写了equals方法,重写后是直接比较对象的内容值,不看地址。
日常开发里,字符串对比内容一律用equals,基本类型用==。
2.String、StringBuilder、StringBuffer的区别?
答案:
String是不可变字符串,一旦创建就不能修改,每次拼接、修改都会生成新的字符串对象,频繁操作非常耗内存。
StringBuilder和StringBuffer是可变字符串,底层是char数组,修改不会新建对象。
唯一区别就是线程安全:StringBuffer所有方法加了synchronized,线程安全但性能低;StringBuilder无锁,线程不安全,性能高。
实际开发用法:单线程字符串拼接一律用StringBuilder;多线程共享变量拼接才用StringBuffer;常量、少量不变的字符串用String。
3.重写和重载的区别?
答案:
您可能关注的文档
最近下载
- 2023一级建造师考试题库含答案【培优b卷】.docx
- 无涯教程网-ASP.Net-MVC教程完整离线版.pdf VIP
- (2026)慢性支气管炎与慢性阻塞性肺疾病PPT课件.pptx VIP
- 招聘失败案例.pdf VIP
- 小学语文教师学科专业知识考试试题共九套.docx VIP
- 论语 原文版精校 可直接打印.pdf VIP
- 煤矿开采学(word版全套教材).doc
- Unit 2 Success Topic Talk示范课教学课件【高中英语北师大版选择性必修第一册】.pptx VIP
- 2025年全国乙卷高考语文试题及答案.docx VIP
- 2026苏州工业园区小升初数学分班摸底卷|完整可打印,含答案详解与评分标准.docx VIP
原创力文档

文档评论(0)