在Java应用程序中工作时,我最近需要组装一个逗号分隔的值列表,以便传递给另一个web服务,而不需要事先知道会有多少元素.我能想到的最好的办法是:
public String appendWithDelimiter( String original, String addition, String delimiter ) {
if ( original.equals( "" ) ) {
return addition;
} else {
return original + delimiter + addition;
}
}
String parameterString = "";
if ( condition ) parameterString = appendWithDelimiter( parameterString, "elementName", "," );
if ( anotherCondition ) parameterString = appendWithDelimiter( parameterString, "anotherElementName", "," );
我意识到这并不是特别有效,因为到处都在创建字符串,但我追求的是清晰而不是优化.
在Ruby中,我可以做这样的事情,感觉更加优雅:
parameterArray = [];
parameterArray << "elementName" if condition;
parameterArray << "anotherElementName" if anotherCondition;
parameterString = parameterArray.join(",");
但由于Java缺少join命令,我无法找到任何等效的命令.
那么,在Java中实现这一点的最佳方法是什么?