在使用数据库的过程中,我注意到我编写了查询字符串,在这个字符串中,我必须在 list/array/Collection 的 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 查询一样)变得复杂时。
你(更)优雅的方式是什么?