麦子金服Java面试题及详细答案.docxVIP

  • 3
  • 0
  • 约9.62千字
  • 约 10页
  • 2026-07-01 发布于河北
  • 举报

麦子金服Java面试题及详细答案

一、基础必考题(面试必问,侧重实操落地)

1.说说==和equals的区别,结合实际开发场景举例(麦子金服高频)

问题解析:金融场景中经常涉及对象比较(如用户信息、交易记录),这道题重点看是否理解“地址对比”和“内容对比”的实际意义,避免踩坑。

详细答案:核心区别就两点,不用绕弯子:

1.==是运算符,对比的是两个对象的内存地址(或者基本数据类型的值)。比如inta=10,intb=10,a==b就是true;但如果是两个String对象,Strings1=newString(maizi),Strings2=newString(maizi),s1==s2就是false,因为它们在堆内存里是两个不同的对象,地址不一样。

2.equals是Object类的方法,默认实现还是==(对比地址),但大部分类(比如String、Integer,还有我们自己写的用户类)都会重写它,改成对比内容。还是上面的例子,s1.equals(s2)就是true,因为内容都是“maizi”。

实际开发场景:我们做用户登录校验时,判断用户输入的密码和数据库查出来的密码是否一致,用的是equals,不是==。如果用==,就算密码内容一样,只要是两个不同的String对象,就会判断失败,导致用户登录异常,这在金融系统里是严重问题。

2.讲一下String、

文档评论(0)

1亿VIP精品文档

相关文档