Java数组,打印其他内容

标签 java arrays println

我正在尝试打印数组中的项目,但是当我运行该程序时,它会打印出 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/

相关文章:

java.lang.String 类型的 Android Value ... 无法转换为 JSONArray

c - 字符串数组不会打印单个字符

c# - var [][] 数组删除特定单词

java - Java 中 printf ("%*s",indent,message) 的替代方法?

java - com.jcraft.jsch.JSchException : SSH_MSG_DISCONNECT: 2 Too many authentication failures 错误

java - IllegalStateException : Can't overwrite cause in Guava map. 放

java - 类型不接受泛型中的参数

java - 使用 SMTP 发送电子邮件

java - 需要有关打印 double 值和字符值的帮助

grails - 您如何在Grails/Spock测试中而不是在org.grails.plugins.testing.GrailsMockHttpServletResponse@62c0fcae中打印响应