gpt4 book ai didi

java - stringbuffer/stringbuilder 在内存中如何工作? stringbuilder.delete 函数如何工作?

转载 作者:行者123 更新时间:2023-12-02 01:14:17 26 4
gpt4 key购买 nike

我已经附加了一些带有一些字符的 strBuild 并将该 strBuild 放入 stringBuildArr 中。然后在strBuild上调用java.lang.StringBuilder.delete(int start, int end)函数。

这里的问题不仅会从 strBuild 中删除数据,还会从 stringBuildArr 中删除数据。

    StringBuilder strBuild = new StringBuilder();
StringBuilder stringBuildArr[] = new StringBuilder[10];
strBuild.append("hgfd");
stringBuildArr[0] = strBuild;
System.out.println("Output1: "+stringBuildArr[0]);
strBuild.delete(0, strBuild.length());
System.out.println("Output2: "+stringBuildArr[0]);

结果

Output1: hgfd

Output2:

那么,这些 stringbuilder 和 stringbuffer 类的存储是如何工作的?

最佳答案

这里没有“问题”,数组存储对同一个 strBuild 实例的引用; stringBuildArr[0] = strBuild; 没有副本,因为复制 StringBuilder 不是免费的。但如果您想要一个足够简单的副本,请将其更改为

stringBuildArr[0] = new StringBuilder(strBuild);

关于java - stringbuffer/stringbuilder 在内存中如何工作? stringbuilder.delete 函数如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58908728/

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