- 2
- 0
- 约2.23万字
- 约 10页
- 2026-06-09 发布于河北
- 举报
Java工程师面试题及答案(含详细解析)
一、Java基础语法(10题)
1.谈谈Java中的==和equals()的区别,举个实际场景例子
答案:
• ==是运算符:基本类型比较「值相等」,引用类型比较「内存地址是否相同」(是否指向同一个对象);
• equals()是Object类的方法:默认实现是returnthis==obj(和==效果一致),但很多类(如String、Integer)重写了equals(),改为「内容相等」判断。
实际场景:
Stringa=newString(java);
Stringb=newString(java);
System.out.println(a==b);//false(两个对象,地址不同)
System.out.println(a.equals(b));//true(内容相同)
Stringc=java;
Stringd=java;
System.out.println(c==d);//true(常量池复用,地址相同)
2.为什么Java中没有指针?但还会出现空指针异常(NullPointerException)?
答案:
• Java不提供「裸指针」(直接操作内存地址的指针),而是通过「引用」间接操作对象,目的是避免内存泄漏、非法内
原创力文档

文档评论(0)