1. ホーム
  2. java

[解決済み] String.valueOf() vs. Object.toString()

2022-01-31 23:15:40

質問

Javaでは String.valueOf(Object)Object.toString() ? これらに特定のコード規約があるのでしょうか?

どのように解決するのですか?

によると Javaドキュメント , String.valueOf() を返します。

引数が null に等しい文字列を返します。 "null" それ以外の場合は obj.toString() が返される。

ですから、メソッドの呼び出しが追加される以外は、実際には違いがないはずです。

また Object#toString の場合、インスタンスが null , a NullPointerException が投げられるので、間違いなく、その方が 安全 .

public static void main(String args[]) {  
    String str = null;
    System.out.println(String.valueOf(str));  // This will print a String equal to "null"        
    System.out.println(str.toString()); // This will throw a NullPointerException
}