这是我的代码,我将在其中获取列表数组中的一组值。
如何使用字符串生成器在所有这些元素之间附加双引号和 OR 并保存到字符串?
另外,是否可以将元素拆分?例如我会得到:
a,b,c,d,e,f,g,h,i,j
在数组中我希望输出为
"a" OR "b" OR "c" OR "d"
和另一个迭代中的剩余元素。因为有 10 个元素,所以我一次想要 5 个元素,采用上述格式。是否有可能在字符串生成器中。在我的示例中,我提到的元素总数为 10 个,但实际上我得到的元素超过 1000 个。这是我的代码。
List<String> test = new ArrayList<String>();
while (rs.next()) {
String url = rs.getString("rssUrl");
test.add(url);
}
最佳答案
在循环中连接时使用 StringBuilder
是个好主意,因为它比简单的 String
连接有更好的性能。下面是一个示例代码,说明如何使用 StringBuilder
和模运算来检查结果中需要多少个元素:
final int nbElems = 5;
List<String> test = new ArrayList<String>(Arrays.asList("a,b,c,d,e,f,g,h,i,j".split(",")));
StringBuilder sb = null;
for (int i=0; i<test.size(); i++) {
if (i%nbElems==0)
sb = new StringBuilder("\"");
else
sb.append("\" OR \"");
sb.append(test.get(i));
if (i%nbElems==(nbElems-1) || i==(test.size()-1)) {
sb.append("\"");
final String result = sb.toString();
System.out.println(result); // TODO: do something
}
}
输出:
"a" OR "b" OR "c" OR "d" OR "e"
"f" OR "g" OR "h" OR "i" OR "j"
关于java - 如何使用字符串生成器在元素之间附加双引号和 'OR',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22682016/