gpt4 book ai didi

java - 我想问一下deleteCharAt方法

转载 作者:行者123 更新时间:2023-12-02 04:32:24 25 4
gpt4 key购买 nike

我在API文档中搜索了deleteCharAt方法。该方法的返回类型是StringBuilder。所以我认为需要引用变量来赋予引用值(value)。

例如,我认为 sbuf=sbuf.deleteCharAt(0); 是比 sbuf.deleteCharAt(0); 更好的表达方式。

但是,在许多书籍和代码上,都使用后者。

我的想法中错误的部分是什么?

最佳答案

StringBuilder 对象是可变的;一旦调用操作.deleteCharAt(),引用sbuf仍然是同一个对象,并且该对象的内部状态已经改变。因此,您可以以 sbuf.deleteCharAt(0); 的形式调用该方法。

例如,字符串是不可变的。例如,当您调用 .substring() 方法时,它会返回对 string 类的全新实例的引用。因此,如果您编写 str.substring(5);,则返回值将被丢弃,而 str 仍将具有旧值。相反,对于不可变对象(immutable对象),您需要编写类似 newStr = str.substring(5); 的内容。

关于java - 我想问一下deleteCharAt方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31259302/

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