看了老师推荐的博客字符串常量池、class常量池和运行时常量池 https://blog.csdn.net/qq_26222859/article/details/73135660
有了如下理解,String a = new String(“1”)会在类加载时,在Heap上创建“1”,并将其引用驻留在全局字符串常量池中,后续调用执行的String类中new String(String original)方法的入参就是常量池中该引用,为了验证此观点,我写了如下代码,并在String类源码的public String(String original)方法上加入断点,并尝试比较original和“1”,如下
我不太理解为什么传进来的original和“1”不相等?他们不应该都等于全局字符串常量池中保留的“1”的引用的值吗?