Durante il mio lavoro con i database ho notato che scrivo stringhe di query e in queste stringhe devo mettere diverse restrizioni nella clausola where da una lista / matrice / raccolta. Dovrebbe assomigliare a questo:
select * from customer
where customer.id in (34, 26, ..., 2);
Puoi semplificarlo riducendo questo alla domanda che hai una raccolta di stringhe e vuoi creare un elenco separato da virgole di queste stringhe in una sola stringa.
Il mio approccio che ho usato finora è qualcosa del genere:
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
Ma questo è come puoi vedere molto brutto. Non puoi vedere cosa succede lì al primo sguardo, specialmente quando le stringhe costruite (come ogni query SQL) si complicano.
Qual è il tuo modo (più) elegante?