从集合/数组/列表中创建逗号分隔字符串的最复杂方法?
在我使用数据库的过程中,我注意到我编写查询字符串,并且在此字符串中,我必须在列表/数组/集合的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查询)变得越来越复杂时。
你(更)优雅的方式是什么?