equals的疑惑

来源:9-9 Java 中的 Object 类 Ⅱ

阿楠呐

2018-08-09 11:53

class test{
    public static void main(String[] args) {
        String a = "1";
        String b = "1";
        System.out.println(a.equals(b));
    }    
}

这段代码中.为什么会输出true呢 它们的值一样的.但是那个哈希码也是一样的吗

写回答 关注

2回答

  • NothingAJ
    2018-08-09 13:33:22
    已采纳

    String类特殊的,当创建一个String的实例后,这个值会保存在一个叫做存储池的位置,当两个字符串的值相同时,变量名实际会指向同一内存空间。

    阿楠呐

    非常感谢!

    2018-08-09 14:07:53

    共 1 条回复 >

  • Yescafe
    2018-08-09 12:30:49

    b和a指向同一个引用

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530558 学习 · 6091 问题

查看课程

相似问题