测试代码:
输出:
[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()也可去空格。