Class Joiner


  • @GwtCompatible
    public class Joiner
    extends Object
    An object which joins pieces of text (specified as an array, Iterable, varargs or even a Map) with a separator. It either appends the results to an Appendable or returns them as a String. Example:
    
     Joiner joiner = Joiner.on("; ").skipNulls();
      . . .
     return joiner.join("Harry", null, "Ron", "Hermione");
     

    This returns the string "Harry; Ron; Hermione". Note that all input elements are converted to strings using Object.toString() before being appended.

    If neither skipNulls() nor useForNull(String) is specified, the joining methods will throw NullPointerException if any given element is null.

    Warning: joiner instances are always immutable; a configuration method such as useForNull has no effect on the instance it is invoked on! You must store and use the new joiner instance returned by the method. This makes joiners thread-safe, and safe to store as static final constants.

    
     // Bad! Do not do this!
     Joiner joiner = Joiner.on(',');
     joiner.skipNulls(); // does nothing!
     return joiner.join("wrong", null, "wrong");
     

    See the Guava User Guide article on Joiner.

    Since:
    2.0
    Author:
    Kevin Bourrillion
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Joiner.MapJoiner
      An object that joins map entries in the same manner as Joiner joins iterables and arrays.