美文网首页程序员研究院每日一问文娱部
【程序员研究院每日一问文娱部】Integer age = 18,

【程序员研究院每日一问文娱部】Integer age = 18,

作者: captainLii | 来源:发表于2020-02-26 22:55 被阅读0次

今天面试了一个高级程序员,问了很高大尚的问题,比如JVM的优化手段,心得、Dubbo的生态圈,RPC的优势、较SpringCloud如何等,话锋一转,问了如下的问题:

Integer age = 18, "18".equals(age)是true还是false,为什么?

然后回答是~ _ ~
说那么多不如上代码



运行代码输出:


image.png

为什么为输出false?

接下看下equals的方法


equals方法

红框中的大概意思就是:字符串与指定对象进行比较,指定的对象不能是NULL且是String(字符)对象,如果它们的字符序列相同,则返回true,否则为false

从概念上说,Java字符串就是Unicode的字符序列。如:“java"串就是由Unicode字符j、a、v、a组成。

回到上面问题,age被定义为Integer(整型),所以与字符18存在不同的序列,也就是说equals比较是对象的序列比较。
如下:



声明:原创,欢迎转载~! 帮忙点关注我,谢谢~!

相关文章

网友评论

    本文标题:【程序员研究院每日一问文娱部】Integer age = 18,

    本文链接:https://www.haomeiwen.com/subject/vnlgchtx.html