问答详情
源自:9-9 Java 中的 Object 类 Ⅱ

equals的疑惑

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

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

提问者:阿楠呐 2018-08-09 11:53

个回答

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

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

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

    b和a指向同一个引用