美文网首页程序员研究院每日一问文娱部
【程序员研究院每日一问文娱部】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