- 3
- 0
- 约5千字
- 约 8页
- 2026-06-08 发布于河北
- 举报
Java基础深度面试题及详细答案(真实面试版)
说明:所有题目为一线互联网高频面试原题,答案摒弃模板化话术,以开发实操、底层原理、面试踩分点为主,适合应届生、1-3年Java开发者复盘面试。
一、Java语法与基础核心
1、==和equals的核心区别?Integer包装类有哪些坑?
详细答案:
1)基础区别:
-==是比较运算符:基本数据类型比较数值,引用类型比较内存地址;
-equals是Object类方法:默认和==一致(比较地址),String、Integer等类重写后,比较的是内容值。
2)Integer缓存坑(核心面试点):
Integer有静态缓存数组,默认缓存-128~127之间的整数。
-该区间内的Integer对象,用==比较结果为true,因为复用缓存对象,地址一致;
-超出区间会新建对象,==比较结果为false;
-注意:newInteger()无论数值是否在缓存区间,都会新建对象,==一定不相等。
3)实操结论:
所有包装类、字符串对比内容,一律用equals,禁止用==,避免缓存bug。
2、final、finally、finalize三者完全区别?
详细答案:
三者无关联,是Java三个完全不同的关键字,面试重点区分场景:
1)final:修饰符
-修饰类:类不能被继承;
-修饰方法:方法不能被重写;
-修饰
原创力文档

文档评论(0)