Java - 打印课程

mar*_*ark 1 java arrays methods tostring

如果我有一个具有toString方法的对象数组,并且我使用for循环打印数组(例如:只是array[i]为了到达对象并执行System.out.println(array[i])),是否会自动调用toString方法?它似乎是,但我只想检查这是发生了什么.

Eri*_*son 5

是的,它会的.

事实上,通过隐式调用执行此操作的优点是在.toString()不抛出异常的情况下处理空值.如果array[i]null,then 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().