Au cours de mon travail avec les bases de données, j'ai remarqué que j'écrivais des chaînes de requête et que dans ces chaînes, je dois mettre plusieurs restrictions dans la clause where d'une liste / tableau / collection. Devrait ressembler à ceci:
select * from customer
where customer.id in (34, 26, ..., 2);
Vous pouvez simplifier cela en réduisant cela à la question que vous avez une collection de chaînes et que vous souhaitez créer une liste séparée par des virgules de ces chaînes dans une seule chaîne.
Mon approche que j'ai utilisée jusqu'à présent est quelque chose comme ça:
String result = "";
boolean first = true;
for(String string : collectionOfStrings) {
if(first) {
result+=string;
first=false;
} else {
result+=","+string;
}
}
Mais c'est comme vous pouvez le voir très moche. Vous ne pouvez pas voir ce qui s'y passe au premier regard, en particulier lorsque les chaînes construites (comme chaque requête SQL) se compliquent.
Quelle est votre (plus) élégante manière?