Java 7 - Строка Столяр и метод добавления

Я хочу перебрать массив и добавить строку в новую строку только в том случае, если соблюдены определенные условия, а затем разделить запятой. Если бы я мог использовать 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, может достичь того же самого?

ура

Алабама

2 ответа

Решение

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 = ",";
    }
}

Вы можете использовать Столяр Google Guava библиотеки:

private static String reduce(List<String> values) {
    return Joiner.on(",").skipNulls().join(values);
}
Другие вопросы по тегам