我必须使用 ArrayList 创建堆栈,一切似乎都是正确的,但由于某种原因,控制台的输出是:模型。ArrayStack@a0dcd9(我的包和 ArrayStack 类的名称)。
你得到的是 Object 类中默认 toString() 的输出。如果你想打印一些有意义的东西,那么你需要在你的ArrayStack类中重写toString()方法。
public String toString()
{
// iterate through your array and generate a String consisting of all elements
// alternatively you can take advantage of the fact that Arraylist has already
// overriden toString() method to print all elements
return st.toString();
}
你需要在 ArrayStack 类中重写 toString。迭代元素并将它们连接成人类可读的格式。
toString 方法返回一个字符串,该字符串由对象作为其实例的类的名称、符号字符"@"和对象的哈希代码的无符号十六进制表示形式组成。换句话说,此方法返回一个字符串,其值等于:
getClass().getName() + '@' + Integer.toHexString(hashCode())
要按照我怀疑您想要的方式打印,您需要遍历 arrayList