How to concatenate strings using Guava?

11,260

Solution 1

You don't need the loop, you can do the following with 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);

Solution 2

"+" should work. Don't use libraries when you're having problems. Try to understand the nature. Otherrwise you'll have a very complicated code with hundreds of libraries :))

This should work instead.

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

And you might also want to use Stringbuilder

 StringBuilder sb = new StringBuilder("Your string");
 for (String inputLine : list) {
      sb.append(inputLine.trim());
 }
 String inputFile = sb.toString();

Solution 3

Try

String inputFile = Joiner.on(",").join(list);
Share:
11,260
stacktome
Author by

stacktome

Updated on June 09, 2022

Comments

  • stacktome
    stacktome almost 2 years

    I wrote some code to concatenate Strings:

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

    But I can't use + to concatenate, so I decide to go with Guava. So I need to use Joiner.

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

    But it's giving me an error. I need help to fix this. Many Thanks.