gpt4 book ai didi

java - StringBuilder 是否在每个操作中创建一个新的 String?

转载 作者:搜寻专家 更新时间:2023-10-31 19:33:24 24 4
gpt4 key购买 nike

用这段代码创建了多少个对象? - 我知道 3 个字符串文字在字符串常量池中,而 StringBuilder 对象在堆中,但是当我调用 reverse()、insert() 或 append() 时,它会在池中创建一个新字符串吗?

StringBuilder sb = new StringBuilder("abc");
sb.append("def").reverse().insert(3, "---");
System.out.println( sb );

最佳答案

StringBuilder 只会在调用 toString() 时创建一个新字符串。在此之前,它会保留所有添加到其中的元素的 char[] 数组。

您执行的任何操作,如insertreverse 都是在该数组上执行的。

关于java - StringBuilder 是否在每个操作中创建一个新的 String?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22103479/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com