gpt4 book ai didi

java - 下面代码中的 sb2 如何保存 abc 而不是 abcd?

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

    StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer(sb1);

sb1.append("d");

System.out.println(sb2);

由于 StringBuffer 是可变的,并且 sb2 指向 sb1,因此我希望 sb2 的值为“abcd”。虽然这个问题很外行,但你能帮我解释一下吗?

最佳答案

StringBuffer 在调用new StringBuffer(sb1) 时在堆中创建一个新对象。它不指向sb1
如果您希望使 sb2 指向 sb1,则声明 StringBuffer sb2 = sb1

public StringBuffer(String str)

Constructs a string buffer initialized to the contents of the specified string. The initial capacity of the string buffer is 16 plus the length of the string argument.

关于java - 下面代码中的 sb2 如何保存 abc 而不是 abcd?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59260644/

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