我想遍历一个数组,只有在匹配某些条件时才将字符串添加到新字符串中,然后用逗号分隔。如果我可以使用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);
}