请问一下,对于String变量,如果先new了一个对象,比如String str = new String("abc")此时再让str = "abcd"其中会有什么变化呀
是str直接指向常量池的abcd,原对象的引用没有了,还是说是堆里面的对象中的属性value指向了常量池的abcd,但是value是被final修饰的,它的指向为什么会发生变化呢
感谢感谢
是你说的第一种情况。str直接指向常量池的abce,原对象的引用没有了。
覆盖了,你输出是什么样子的,你可以debug