在使用数据库期间,我注意到我编写了查询字符串,并且在该字符串中,我必须在列表/数组/集合的 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 查询)变得复杂时。
你的(更)优雅的方式是什么?
Use the 谷歌番石榴API's join method:
Joiner.on(",").join(collectionOfStrings);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)