toStringメソッドを持つオブジェクトの配列があり、forループを使用して配列を出力する場合(たとえば、単にarray[i]オブジェクトに到達して実行するためSystem.out.println(array[i]))、toStringメソッドは自動的に呼び出されますか?そうであるようですが、これが何が起こっているのかを確認したいと思います。
2 に答える
5
はい、そうなります。
実際、暗黙的に呼び出すよりもこれを行うことの利点は.toString()、例外をスローせずにnullが処理されることです。の場合、array[i]がスローされる場所を出力します。nullthen System.out.println(array[i])nullSystem.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 に答える