2年Java开发面试题及详细答案.docxVIP

  • 2
  • 0
  • 约1.37万字
  • 约 14页
  • 2026-05-18 发布于河北
  • 举报

2年Java开发面试题及详细答案

一、基础核心题(必问,考察基础扎实度)

1.说说Java中的equals和==的区别,实际开发中你怎么用?

答案:这两个是面试必问的,也是实际开发中容易踩坑的点。首先明确两者的核心区别:

==是运算符,分两种情况:如果是基本数据类型(int、char、long等),比较的是值是否相等;如果是引用数据类型(对象),比较的是内存地址是否相等(也就是判断两个引用是否指向同一个对象)。

equals是Object类的方法,默认实现其实就是==(源码里是returnthis==obj;),但很多类(比如String、Integer、List等)都重写了equals方法,重写后比较的是对象的内容是否相等,而不是地址。

实际开发中的用法:比如判断两个String是否一样,肯定用equals(比如判断用户输入的密码和数据库存的密码是否匹配);如果要判断两个对象是不是同一个(比如判断集合中是否包含某个对象的引用),就用==。

举个实际踩坑的例子:之前做用户登录,把String类型的密码用==判断,测试时发现明明密码一样却返回失败,后来才发现是用错了,改成equals就好了——因为两个String对象,即使内容一样,内存地址也可能不同(比如newString(123)和123)。

2.什么是Java的多态?实际开发中你用过哪些多态的场景?

答案:多

文档评论(0)

1亿VIP精品文档

相关文档