在使用数据库的过程中,我注意到我编写了查询字符串,并且在此字符串中,我必须对列表/数组/集合的where子句施加一些限制。应该看起来像这样:
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查询)变得复杂时。
您的(更多)优雅方式是什么?