stringjoin可以帮助避免用stringbuilder那样去拼字符串,
public StringJoiner(CharSequence delimiter,
CharSequence prefix,
CharSequence suffix) {
Objects.requireNonNull(prefix, "The prefix must not be null");
Objects.requireNonNull(delimiter, "The delimiter must not be null");
Objects.requireNonNull(suffix, "The suffix must not be null");
// make defensive copies of arguments
this.prefix = prefix.toString();
this.delimiter = delimiter.toString();
this.suffix = suffix.toString();
this.emptyValue = this.prefix + this.suffix;
}
可以指定分隔符,也可以指定前后缀。
比如map转string
private String formatMap(Map<Integer, Long> map, String delimiter, String prefix, String suffix) {
StringJoiner result = new StringJoiner(delimiter, prefix, suffix);
for (Entry<Integer,Long> entry : map.entrySet()) {
result.add("{\"key\":"+entry.getKey()+",\"value\":\""+entry.getValue()+"\"}");
}
return result.toString();
}
使用:
String s =formatMap(paramsMap,",","[","]");就可以拼成:中括号开头结尾,中间元素是逗号分隔的。字符串。便于json解析。