S
StringJoiner is used to construct a sequence of characters separated by a delimiter and optionally starting with a supplied prefix and ending with a supplied suffix.
Prior to adding something to the StringJoiner
, its sj.toString()
method will, by default, return prefix + suffix
. However, if the setEmptyValue
method is called, the emptyValue
supplied will be returned instead. This can be used, for example, when creating a string using set notation to indicate an empty set, i.e. "{}"
, where the prefix
is "{"
, the suffix
is "}"
and nothing has been added to the StringJoiner
.
import java.util.StringJoiner; public class StringJoinerDemo { public static void main(String[] args) { String delimeter = "-"; StringJoiner names = new StringJoiner(delimeter); names.add("Laulau"); names.add("Kinga"); names.add("Fusi"); System.out.println(names); } }
Result:
Laulau-Kinga-Fusi
Using prefix and suffix
public static void demoWithPrefixAndSuffix() { String delimeter = ","; String prefix = "("; String suffix = ")"; StringJoiner names = new StringJoiner(delimeter, prefix, suffix); names.add("Laulau"); names.add("Kinga"); names.add("Fusi"); System.out.println(names); }
Result:
(Laulau,Kinga,Fusi)
Using merge
public static void demoWithMerge() { String delimeter = ","; String prefix = "("; String suffix = ")"; StringJoiner names1 = new StringJoiner(delimeter, prefix, suffix); names1.add("Laulau"); names1.add("Kinga"); names1.add("Fusi"); System.out.println(names1); StringJoiner names2 = new StringJoiner(delimeter, prefix, suffix); names2.add("John"); names2.add("Peter"); names2.add("Andrew"); System.out.println(names2); StringJoiner names3 = names1.merge(names2); System.out.println(names3); }
Result:
(Laulau,Kinga,Fusi) (John,Peter,Andrew) (Laulau,Kinga,Fusi,John,Peter,Andrew)