Java StringBuilder输出不包括构造函数中提供的字符 StringBuilder bd=新的StringBuilder('['); 迭代器iter=names.Iterator(); while(iter.hasNext()){ bd.append(iter.next()); if(iter.hasNext()){ bd.append(“,”); } } bd.append(']'); 返回bd.toString();

Java StringBuilder输出不包括构造函数中提供的字符 StringBuilder bd=新的StringBuilder('['); 迭代器iter=names.Iterator(); while(iter.hasNext()){ bd.append(iter.next()); if(iter.hasNext()){ bd.append(“,”); } } bd.append(']'); 返回bd.toString();,java,stringbuilder,Java,Stringbuilder,我原以为输出结果看起来像[],但它看起来像] 发生了什么?将构造函数参数中的字符更改为字符串 StringBuilder bd = new StringBuilder('['); Iterator<String> iter = names.iterator(); while (iter.hasNext()) { bd.append(iter.next()); if (iter.hasNex

我原以为输出结果看起来像
[]
,但它看起来像
]


发生了什么?

将构造函数参数中的字符更改为字符串

        StringBuilder bd = new StringBuilder('[');
        Iterator<String> iter = names.iterator();
        while (iter.hasNext()) {
            bd.append(iter.next());
            if (iter.hasNext()) {
                bd.append(", ");
            }
        }
        bd.append(']');
        return bd.toString();

否则,该字符将被转换为int。

它是什么样子的?您自己没有表现出任何调查问题的努力。这是一个可以通过阅读您使用的构造函数的API文档来解决的问题。这需要约30秒。因此-1.oooooo,d'oh!我真蠢!(但说真的,这太不直观了)。
StringBuilder bd = new StringBuilder("[");