我正在尝试打印数组中的项目,但是当我运行该程序时,它会打印出 Orders:testorder@4, testorder@5
等。有什么建议可以帮助我解决这个问题,使其显示“123 Buy”吗?
package hej;
public class TestOrder {
public static void main(String[] args) {
Order order1 = new Order("123", "Buy");
Order order2 = new Order("456", "Sell");
Order order3= new Order("231", "Buy");
Order order4= new Order("987", "Buy");
OrderRegister orderregister = new OrderRegister();
orderregister.addOrder(order1);
orderregister.addOrder(order2);
orderregister.addOrder(order3);
orderregister.addOrder(order4);
System.out.println("Orders: ");
for (int i = 0; i < orderregister.getArrayList().size(); i++){
System.out.println(orderregister.getArrayList().get(i) + "-");
}
}
}
最佳答案
因为您没有为 Order
类定义 toString()
方法。
当 Java 尝试打印一个对象时,它会尝试调用该对象的 toString()
方法,如果找不到,则使用 toString()
> 来自 Object 父类(super class)。
对象 toString()
默认情况下执行以下操作:
getClass().getName() + '@' + Integer.toHexString(hashCode())
这正是您所看到的输出。
关于Java数组,打印其他内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14243153/