当前位置: 首页 > 知识库问答 >
问题:

为什么使用toString方法后仍然得到[]?[副本]

邹阳
2023-03-14

下面是我的代码:

public class StackStudy{
    public static void main(String[] args){
        Stack<String> st = new Stack<String>();
        st.push("hi");
        st.push("bye");
        st.push("awful");
        System.out.println(st.toString());
    }
}

和控制台输出以下内容:

[hi, bye, awful]

我以为使用toString可以去掉[],为什么它还在那里?

编辑:如果toString不是摆脱[]的正确方法,那么正确的方法是什么?

共有1个答案

王鹏飞
2023-03-14

因为Vector(也可能是AbstractCollection)的ToString()方法包含括号(而Stack继承了该ToString())。您可以通过将子字符串移除它们,如下所示

String str = st.toString();
System.out.println(str.substring(1, str.length() - 1));
 类似资料: