如何使用Guava连接字符串?

时间:2013-07-30 14:11:31

标签: java guava

我写了一些代码来连接字符串:

String inputFile = "";      

for (String inputLine : list) {
    inputFile +=inputLine.trim());
}

但我无法使用+连接,所以我决定选择Guava。所以我需要使用Joiner。

inputFile =joiner.join(inputLine.trim());

但它给了我一个错误。我需要帮助来解决这个问题。非常感谢。

4 个答案:

答案 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()));