gpt4 book ai didi

Java StringBuilder append() 返回?

转载 作者:行者123 更新时间:2023-12-04 11:44:21 24 4
gpt4 key购买 nike

我是 Java 编程的新手,StringBuilder 中方法 append() 的返回类型是什么让我很困惑?

我已经在 https://docs.oracle.com/javase/9/docs/api/index.html?java/lang/String.html 上查看了 API 文档返回值是“StringBuilder”,所以我应该这样写代码:

StringBuilder a=new StringBuilder("hello");
...(another StringBuilder object)=a.append("world");

a 仍然是“hello”,而另一个 stringbuilder 将变成“helloworld”,因为它有返回值??

但实际上a本身也变成了“helloworld”。为什么??我是不是误会了什么?

最佳答案

StringBuilder 遵循 Builder Pattern 是合理的,因为它用于构建字符串。

在构建器模式中,每个方法(大部分)都返回当前实例,因此返回的是修改后的实例。

But actually a itself also become "helloworld". Why??

因为您正在使用相同的实例再次追加。所以它已经存储了以前的值并获得了更新后的实例。

so I should write the code like:

StringBuilder a=new StringBuilder("hello"); ...(another StringBuilder object)=a.append("world");

你不需要。由于返回实例,您可以链接您的方法调用。这就是 builder 模式的美妙之处。

StringBuilder a=new StringBuilder("hello");
a.append("World").append(" Mr.").append("Blah");

关于Java StringBuilder append() 返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48624634/

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