- 1
- 0
- 约5.69千字
- 约 8页
- 2026-10-13 发布于河北
- 举报
Java外包高频面试题及详细答案(实战接地气版)
说明:本题库适配互联网、政企、项目驻场等各类Java外包岗位,题目均为一线面试高频题,答案贴合实际开发工作,摒弃书面化空话,适合速成备考、突击面试。
一、Java基础核心(必考)
1、==和equals的区别是什么?
简单说,==比较的是内存地址,equals比较的是内容。
基本数据类型用==,直接比较数值大小;引用数据类型用==,比较的是对象在堆内存中的地址,只要不是同一个对象,结果就是false。
equals是Object类的方法,默认实现和==一样比较地址。但像String、Integer这些类都重写了equals方法,会直接对比字符串内容、数值内容。
工作中判断字符串相等一律用equals,避免空指针的话,一般写常量.equals(变量)。
2、String、StringBuilder、StringBuffer的区别?
String是不可变字符串,每次拼接、修改都会生成新的字符串对象,频繁操作会产生大量垃圾对象,效率最低。
StringBuilder和StringBuffer是可变字符串,不会新建对象,修改效率高。
核心区别在线程安全:StringBuffer加了synchronized锁,线程安全,适合多线程场景;StringBuilder无锁,线程不安全,效率更高,日常开发单线程场景优先用
原创力文档

文档评论(0)