Java

【Java】String.valueOf()とObject.toString()の違い

JavaにおけるString.valueOf()Object.toString()の違いをメモしておきます。

String.valueOf()Object.toString()の違い

どちらもObject型をString型に変換してくれるメソッドですが、Object型の値がnullの場合の挙動が異なります。

  • String.valueOf()"null"という文字列を返す
  • Object.toString()NullPointerExceptionが発生する

コードで書くと以下のとおりです。

注意点として、String.valueOf(object)は、nullを返すのではなく、"null"という文字列を返します。

String.valueOf()の中身を見てみるとわかりやすいかと思います。obj == nullの場合は"null"を返し、それ以外の場合はobj.toString()でObject型をString型に変換していますね。

まとめ

String.valueOf()Object.toString()の違いでした。Object型をString型に変換するときに、nullが値として入る可能性があるのであれば、例外が発生しないString.valueOf()を使うのがよさそうです。

参考リンク

-Java

© 2024 Reasonable Code