Durante mi trabajo con bases de datos, noté que escribo cadenas de consulta y en estas cadenas tengo que poner varias restricciones en la cláusula where de una lista / matriz / colección. Debería verse así:
select * from customer
where customer.id in (34, 26, ..., 2);
Puede simplificar esto reduciendo esto a la pregunta de que tiene una colección de cadenas y desea crear una lista separada por comas de estas cadenas en una sola cadena.
Mi enfoque que he usado hasta ahora es algo así:
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
Pero esto es como puede ver muy feo. No puede ver lo que sucede allí a primera vista, especialmente cuando las cadenas construidas (como todas las consultas SQL) se vuelven complicadas.
¿Cuál es tu forma (más) elegante?