Java 如何使用与逗号不同的分隔符打印列表?
我继续在我的程序中复制粘贴以下内容。我想知道你们中是否有人使用类似的代码,也许是在库中实现的Java 如何使用与逗号不同的分隔符打印列表?,java,string,collections,Java,String,Collections,我继续在我的程序中复制粘贴以下内容。我想知道你们中是否有人使用类似的代码,也许是在库中实现的 @Override public String toString() { String ret = prefix; boolean first = true; for (Component child : children) { if (!first) { ret += " " + separator + " "; } e
@Override
public String toString() {
String ret = prefix;
boolean first = true;
for (Component child : children) {
if (!first) {
ret += " " + separator + " ";
} else {
first = false;
}
ret += child.getName();
}
return ret + postfix;
}
PS:可以使用StringBuilder而不是String。明白了。没有。我能想到的唯一一件事是将
“
抽象为toString()
函数中的最后一个字段。我们没有更好的东西是因为foreach
构造不关心位置,只关心它将按顺序打印
也就是说,要不惜一切代价避免复制和粘贴。如果需要,创建自己的库。允许它获取一个接口的参数,该参数指示它是否是第一个接口,并从那里开始。Apache commons在类中提供了许多连接方法
本页还提供了许多关于实现这种方法的最佳方法的有趣建议:,因为如果我有一个元素列表,我就不需要分隔符。它位于apache commons lang中。Maven:唯一遗憾的是,使用它我不再控制使用哪种方法打印。也就是说,假设我没有打印复合的toString(),而是打印其他字符串返回方法,那么我就不能使用它。请不要复制和粘贴代码。这将导致未来的问题。请将代码抽象为静态实用程序方法。