测试代码:
输出:
[123, 456]
输出后,拼接字段的首部,会有一个空格。
Map toString()源码
public String toString() {
Iterator<Entry<K,V>> i = entrySet().iterator();
if (! i.hasNext())
return "{}";
StringBuilder sb = new StringBuilder();
sb.append('{');
for (;;) {
Entry<K,V> e = i.next();
K key = e.getKey();
V value = e.getValue();
sb.append(key == this ? "(this Map)" : key);
sb.append('=');
sb.append(value == this ? "(this Map)" : value);
if (! i.hasNext())
return sb.append('}').toString();
sb.append(',').append(' ');
}
}
源码在拼接数据时,不仅用了','而且也加上了空格。
解决办法:
1.在源码中,去掉“append(' ')”。不建议修改源码。
2.重写toString()。建议使用。
3.对拼接的数据采用字符串trim()也可去空格。