toStringメソッドを持つオブジェクトの配列があり、forループを使用して配列を出力する場合(たとえば、単にarray[i]
オブジェクトに到達して実行するためSystem.out.println(array[i])
)、toStringメソッドは自動的に呼び出されますか?そうであるようですが、これが何が起こっているのかを確認したいと思います。
質問する
71 次
2 に答える
5
はい、そうなります。
実際、暗黙的に呼び出すよりもこれを行うことの利点は.toString()
、例外をスローせずにnullが処理されることです。の場合、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()
です。
于 2012-05-09T12:13:31.827 に答える
1
はい、確かにそうなります。
println(Object)
方法とprint(Object)
メソッドの動作に関するAPIの説明を次に示します。
于 2012-05-09T12:15:41.967 に答える