Joiner是将数组按照某分隔符分隔返回字符串
com.google.common.base.Joiner#on(java.lang.String)
用户构造函数设置用什么字符分隔
com.google.common.base.Joiner#appendTo(A, java.lang.Iterable<? extends java.lang.Object>)
用于传入一个集合,然后通过构造函数传入的符号进行拼接字符串。
底层就是用StringBuffer, StringBuilder等类的append方法拼接
public <A extends Appendable> A appendTo(A appendable, Iterator<? extends @Nullable Object> parts)throws IOException {checkNotNull(appendable);if (parts.hasNext()) {appendable.append(toString(parts.next()));while (parts.hasNext()) {appendable.append(separator);appendable.append(toString(parts.next()));}}return appendable;}
com.google.common.base.Joiner#appendTo(A, java.lang.Object[])
同上,类型为数组。
com.google.common.base.Joiner#appendTo(A, java.lang.Object, java.lang.Object, java.lang.Object…)
第一个参数,StringBuilder等
第二个参数,返回值的第一个值,可空
第三个参数,返回值的第二个值 可空
第四个参数,数组
com.google.common.base.Joiner#join(java.lang.Iterable<? extends java.lang.Object>)
传入一个数组,用构造函数设置的分隔符分隔,返回字符串
com.google.common.base.Joiner#useForNull
当数组元素为空时默认的值
com.google.common.base.Joiner#skipNulls
跳过为空的元素
com.google.common.base.Joiner#withKeyValueSeparator(char)
返回map的key value,按逗号分隔
public static void main(String[] args) {HashMap<Object, Object> map = Maps.newHashMap();map.put("a", 1);map.put("b", 2);String join = Joiner.on(",").withKeyValueSeparator(",").join(map);System.out.println(join);}
结果