为什么String 创建的字符串存储在公共池中,而 new 创建的字符串对象在堆上?公共池和堆又是什么?
字符串常量池是堆的一部分,专门用于高效存储唯一的字符串字面量。String s1 = "abc"的方式直接与池交互,优先复用对象;
而 String s2 = new String("abc")则无视池中情况,直接在堆上创建新对象。
字符串常量池是堆的一部分,专门用于高效存储唯一的字符串字面量。String s1 = "abc"的方式直接与池交互,优先复用对象;
而 String s2 = new String("abc")则无视池中情况,直接在堆上创建新对象。