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()を使うのがよさそうです。

参考リンク

【RC】記事下記事内広告


-Java

Copyright© Reasonable Code , 2019 All Rights Reserved Powered by STINGER. App icon by icons8. Privacy Policy.