Java 7 - String Joiner & add 方法



我想遍历一个数组,只有在匹配某些条件时才将字符串添加到新字符串中,然后用逗号分隔。如果我可以使用java 8,它将如下所示:

 StringJoiner col = new StringJoiner(",");
 StringJoiner val = new StringJoiner(",");
 //First Iteration: Create the Statement
 for(String c : columns) {
     //Your PDF has a matching formfield 
     if(pdf.hasKey(c)) {
         col.add(c);
         val.add("?");
      }
  }

但是我被困在 7 上。Guava和其他一些库似乎都采用数组/映射作为输入,而不是通过"add"方法添加。

哪些与Java 7兼容的代码可以实现相同的目标?

干杯

StringBuilder 可以很好地做到这一点:

StringBuilder col = new StringBuilder();
StringBuilder val = new StringBuilder();
String separator = "";
for (String c : columns) {
    if (pdf.hasKey(c)) {
        col.append(separator).append(c);
        val.append(separator).append("?");
        separator = ",";
    }
}

您可以使用谷歌番石榴图书馆的连接器:

private static String reduce(List<String> values) {
    return Joiner.on(",").skipNulls().join(values);
}

最新更新