Во время работы с базами данных я заметил, что пишу строки запроса, и в этих строках я должен поставить несколько ограничений в предложение where из списка / массива / коллекции. Должно получиться так:
select * from customer
where customer.id in (34, 26, ..., 2);
Вы можете упростить это, сведя это к вопросу о том, что у вас есть набор строк и вы хотите создать список этих строк, разделенных запятыми, всего в одной строке.
Мой подход, который я использовал до сих пор, выглядит примерно так:
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
Но это как видите очень некрасиво. Вы не можете увидеть, что там происходит с первого взгляда, особенно когда построенные строки (как и каждый запрос SQL) усложняются.
Какой у вас (более) элегантный образ?