データベースでの作業中に、クエリ文字列を記述していることに気付きました。この文字列には、リスト/配列/コレクションのwhere句にいくつかの制限を課す必要があります。次のようになります。
select * from customer
where customer.id in (34, 26, ..., 2);
これを、文字列のコレクションがあり、この文字列のコンマ区切りのリストを1つの文字列だけで作成したいという質問に減らすことで、これを簡略化できます。
これまでに使用した私のアプローチは次のようなものです。
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
しかし、これは非常に醜いものです。特に、(すべてのSQLクエリのように)構築された文字列が複雑になっている場合、最初の外観で何が起こるかはわかりません。
あなたの(より)エレガントな方法は何ですか?