Joiner
作用:将多个对象拼接成一个字符串
Joiner joiner =
Joiner.on(";").skipNulls();
return joiner.join(bpeApplication, pipeline, deviceName, field);
/**
* Returns a joiner which automatically places {@code separator} between consecutive elements.
*/
public static Joiner on(String separator) {
return new Joiner(separator);
}
/**
* Returns a string containing the string representation of each argument, using the previously
* configured separator between each.
*/
public final String join(@Nullable Object first, @Nullable Object second, Object... rest) {
return join(iterable(first, second, rest));
}
public final String join(Iterable<?> parts) {
return join(parts.iterator());
}
public final String join(Iterator<?> parts) {
return appendTo(new StringBuilder(), parts).toString();
}
public final String join(Iterator<?> parts) {
return appendTo(new StringBuilder(), parts).toString();
}
public <A extends Appendable> A appendTo(A appendable, Iterator<?> 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;
}
Splitter
Splitter提供Joiner对应的功能。
Splitter.on(
',').split(
"foo,bar")
返回:This invocation returns an
Iterable<String>
containing
"foo"
and
"bar"
, in that order.
By default Splitter
's behavior is very simplistic:
Splitter.on(
',').split(
"foo,,bar, quux")
This returns an iterable containing
["foo", "", "bar", " quux"]
. Notice that the splitter does not assume that you want empty strings removed, or that you wish to trim whitespace. If you want features like these, simply ask for them:
private
static
final Splitter MY_SPLITTER
= Splitter.on(
',')
.
trimResults()
.
omitEmptyStrings();
Now
MY_SPLITTER.split("foo, ,bar, quux,")
returns an iterable containing just
["foo", "bar", "quux"]
. Note that the order in which the configuration methods are called is never significant; for instance, trimming is always applied first before checking for an empty result, regardless of the order in which the
trimResults()
and
omitEmptyStrings()
methods were invoked.