最近、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には結合コマンドがないため、同等のものを見つけることができませんでした。
それで、これをJavaで行うための最良の方法は何ですか?