在第一张图里面我写了一个输出,此时输出的地址1670675563这个地址应该是我“456”的地址,然后第二张图,我在“123”的下面又加了一个输出上面这个字符串“123”的地址,发现这个1670675563这个地址又变成了“123”的地址,这个是为什么?


在第一张图里面我写了一个输出,此时输出的地址1670675563这个地址应该是我“456”的地址,然后第二张图,我在“123”的下面又加了一个输出上面这个字符串“123”的地址,发现这个1670675563这个地址又变成了“123”的地址,这个是为什么?


常量池指的并不是你的a变量在常量池里,而是123、456这两个字符串在常量池里。a = "123"是把常量池里"123"的引用赋值给了a,把"456"赋值给a当然也会使得a的引用变化。