Під час роботи з базами даних я помітив, що я пишу рядки запитів, і в цих рядках я повинен поставити декілька обмежень у пункті-де зі списку / масиву / колекції. Має виглядати так:
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-запит) ускладнюються.
Який ваш (більш) елегантний спосіб?