实习生池中只有一个字符串,每次您运行代码时都会重复使用。
然后是每次运行该行时都会构造的额外字符串。因此,例如:
for (int i = 0; i < 10; i++) { String s = new String("abcd");}将以11个字符串结尾,并在内存中包含“ abcd”内容-被插入的1个副本和10个副本。

实习生池中只有一个字符串,每次您运行代码时都会重复使用。
然后是每次运行该行时都会构造的额外字符串。因此,例如:
for (int i = 0; i < 10; i++) { String s = new String("abcd");}将以11个字符串结尾,并在内存中包含“ abcd”内容-被插入的1个副本和10个副本。