java - 如何使用字符串生成器在元素之间附加双引号和 'OR'

标签 java arrays

这是我的代码,我将在其中获取列表数组中的一组值。

如何使用字符串生成器在所有这些元素之间附加双引号和 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/

相关文章:

c - for 循环赋值溢出到另一个变量

java - 使用计时器打破循环

c++ - 无效的对象访问 C++

Javascript - 通过键值从数组中删除对象

java - 为什么 ChangeListener 的 getSource() 不返回用于生成事件的类型的预转换对象?

c++ - 排序数组/文件 I/O C++

javascript - 按属性对数组中的 javascript 对象进行排序(angularjs 过滤器)

java - 读入的文本与指定的文本不同

java - 应用程序适用于某些手机,但不适用于其他手机

java - Eclipse 类突然找不到