Во время моей работы с базами данных я заметил, что я пишу строки запроса, и в этих строках я должен поместить несколько ограничений в where-предложение из списка /array/collection. Должно выглядеть так:
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-запрос) усложняется.
Каков ваш (более) элегантный способ?