我写了一些代码来连接字符串:
String inputFile = "";
for (String inputLine : list) {
inputFile +=inputLine.trim());
}
但是我不能+
用来连接,所以我决定使用 Guava。所以我需要使用Joiner。
inputFile =joiner.join(inputLine.trim());
但这给了我一个错误。我需要帮助来解决这个问题。非常感谢。
您不需要循环,您可以使用 Guava 执行以下操作:
// trim the elements:
List<String> trimmed = Lists.transform(list, new Function<String, String>() {
@Override
public String apply(String in) {
return in.trim();
}
});
// join them:
String joined = Joiner.on("").join(trimmed);
“+”应该工作。遇到问题时不要使用库。试着了解本质。否则,您将拥有包含数百个库的非常复杂的代码 :))
这应该可以代替。
for (String inputLine : list) {
inputFile += inputLine.trim();
}
您可能还想使用Stringbuilder
StringBuilder sb = new StringBuilder("Your string");
for (String inputLine : list) {
sb.append(inputLine.trim());
}
String inputFile = sb.toString();
尝试
String inputFile = Joiner.on(",").join(list);
如果您想添加修剪,请疯狂使用 lambda:
尝试
String inputFile = Joiner.on(",")
.join(list.stream()
.map(p->p.trim())
.collect(Collectors.toList()));