欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

map调用toString()方法,返回字符串拼接有空格,maptostring

来源: javaer 分享于  点击 10626 次 点评:207

map调用toString()方法,返回字符串拼接有空格,maptostring


测试代码:


输出:

    [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()也可去空格。



相关文章

    暂无相关文章

用户点评