- 1
- 0
- 约6.63千字
- 约 9页
- 2026-10-16 发布于河北
- 举报
中软国际Java面试高频题及详细答案(实战版)
一、Java基础核心(必问)
1、==和equals的区别
答案:
==是运算符,equals是Object类的方法,二者核心区别分两种数据类型:
基本数据类型:==直接比较变量存储的数值是否相等;基本类型没有equals方法。
引用数据类型:==比较的是对象的内存地址,判断是不是同一个对象;equals默认也是比较内存地址,但String、Integer、ArrayList等常用类都重写了该方法,重写后核心比较对象的内容是否一致。
日常开发中,字符串、包装类对比内容,一律用equals,同时养成常量前置写法(test.equals(str)),避免空指针异常。
2、String、StringBuffer、StringBuilder的区别和使用场景
答案:
1)String:字符串不可变,每次拼接、修改字符串都会生成新的字符串对象,效率低。底层在JDK9及以上由char数组改为byte数组,节省内存。
2)StringBuffer:字符串可变,所有修改方法都加了synchronized锁,线程安全,但并发场景下锁竞争会导致执行效率偏低。
3)StringBuilder:字符串可变,无锁、线程不安全,执行效率最高。
使用场景:简单字符串赋值、少量拼接用String;多线程环境下字符串频繁修改用StringBuffer
您可能关注的文档
最近下载
- 第十六届职工技术创新运动会暨2026年深圳技能大赛贵金属首饰与宝玉石检测员技能竞赛理论复习资料500题.docx VIP
- 雅马哈YZF-R3服务手册.pdf VIP
- 书法:《圣教序》字字解析(完整版).pdf VIP
- 锦州医科大学临床医学专业培养方案.PDF
- 河南华师联盟2027届高三上学期10月质量检测英语+答案.docx
- GB50150-2006_7执行标准与规范.docx VIP
- Virtuoso cadence教程 清华大学.pdf VIP
- WDZ-5200系列保护测控装置说明书V1.pdf VIP
- (完整版)英格索兰空压机操作培训课件ppt.pptx VIP
- T596-1996《电力设备预防性试验规程》.docx VIP
原创力文档

文档评论(0)