【问题标题】:Java - Printing a classJava - 打印一个类
【发布时间】:2012-05-09 12:12:10
【问题描述】:

如果我有一个包含 toString 方法的对象数组,并且我使用 for 循环打印该数组(例如:只需 array[i] 来访问对象并执行 System.out.println(array[i])),是否会自动调用 toString 方法?似乎是,但我只是想检查一下这是怎么回事。

【问题讨论】:

    标签: java arrays methods tostring


    【解决方案1】:

    是的,会的。

    事实上,这样做比隐式调用.toString() 的优点是可以处理空值而不抛出异常。如果array[i]nullthen System.out.println(array[i]) 将打印null 其中System.out.println(array[i].toString()) 将抛出NullPointerException

    这是因为System.out.println(object) 方法调用System.out.print(object),后者又调用String.valueOf(object),后者又调用object.toString()

    【讨论】:

      【解决方案2】:

      是的,肯定会的。

      这里有一些关于 println(Object)print(Object) 方法如何工作的 API 描述。

      println(Object)

      print(Object)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-29
        • 2013-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多