我写了一些代码来连接字符串:
String inputFile = "";
for (String inputLine : list) {
inputFile +=inputLine.trim());
}
但我无法使用+
连接,所以我决定选择Guava。所以我需要使用Joiner。
inputFile =joiner.join(inputLine.trim());
但它给了我一个错误。我需要帮助来解决这个问题。非常感谢。
答案 0 :(得分:21)
您不需要循环,您可以使用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);
答案 1 :(得分:6)
“+”应该有用。遇到问题时不要使用库。尝试了解性质。另外,你将拥有一个包含数百个库的非常复杂的代码:))
这应该有效。
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();
答案 2 :(得分:4)
尝试
String inputFile = Joiner.on(",").join(list);
答案 3 :(得分:0)
如果你想添加修剪,请对lambdas发疯:
试试
String inputFile = Joiner.on(",")
.join(list.stream()
.map(p->p.trim())
.collect(Collectors.toList()));