gpt4 book ai didi

Java StringBuilder 在调用之间删除新行以追加?

转载 作者:行者123 更新时间:2023-12-04 05:20:21 29 4
gpt4 key购买 nike

是否可以配置 Java StringBuilder类在每次调用之间追加一个新行以追加?

最佳答案

我不认为 StringBuilder内置了该功能。既然你不能只是扩展它,你可以尝试使用装饰器模式......

class NewlineStringBuilder {

private StringBuilder delegate;

public NewlineStringBuilder() {
delegate = new StringBuilder();
}

public NewlineStringBuilder appendLine(String str) {
delegate.append(str).append("\n");
return this;
}

public String toString() {
return delegate.toString();
}
}

或者,Java 可以支持这种速记,这很有用,因为装饰器没有必要重新实现需要从被装饰的类中可用的所有方法,但是它更危险,因为原始资源完全未公开,因此需要权衡必须称重:
StringBuilder message = new StringBuilder();
class AppendingStringBuilder {
private final StringBuilder builder;
AppendingStringBuilder(StringBuilder builder) {
this.builder = builder;
}
public AppendingStringBuilder append(String str) {
builder.append(str + "\n");
return this;
}
}
AppendingStringBuilder messageHelper;
// ...

关于Java StringBuilder 在调用之间删除新行以追加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13748157/

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