我的问题是关于 java 中的字符串池。
情况1:
StringBuilder sb = new StringBuilder();
sb.append("First");
sb.append("Two");
sb.append("Three");
sb.append("Four");
案例二:
StringBuilder sb = new StringBuilder();
sb.append("First"+"Second"+"Three"+"Four");
以上2个案例执行后,字符串池中会有多少个字符串对象?(注意:假设字符串池在每个案例之前都有0个对象。)
我的假设=>
在第一种情况下:
字符串池在第一种情况结束时将有 4 个字符串对象。如何?说明:将创建字符串“First”,并将其添加到字符串池中并修改 sb。然后将创建另一个字符串对象“Two”,将其保存在字符串池中,并且 sb 将被修改。同样,在第一种情况结束时,字符串池将有 4 个字符串对象。
在第二种情况下:字符串池将有 7 个字符串对象。如何?说明:字符串“First”和“Two”将在池中创建,然后由于我们连接“First”和“Two”,第三个字符串对象“FirstSecond”将在字符串池中创建。同理,在第 2 种情况结束时,字符串池将有 7 个对象。
如果我错了,请纠正我。