1.object.toString()方法
このメソッドは、オブジェクトを null にすることはできないことに注意してください。それ以外の場合は、NullPointException が報告されるため、通常はこのメソッドを使用しないでください。
2.String.valueOf(object)方法
このメソッドは、オブジェクトが null の場合、オブジェクトが null であるという問題を心配する必要はありません。
l は、null ではなく「null」文字列に変換します。この点には特に注意してください。「null」と null は同じ概念ではありません。
3.(String)(object)方法
このメソッドは、オブジェクトが null であることを心配する必要もありません。ただし、オブジェクトを String オブジェクトに変換できる場合は。Object object = 1、次に (String)1 の場合、クラス変換例外が報告されます。
4. ""+オブジェクトメソッド
このメソッドは、オブジェクトが null であることを心配する必要もありません。ただし、オブジェクトが null の場合は、String.valueOf(object) と同じように、「null」文字列が返されます。
以下はコード例です。
public class Test {
public static void main(String[] args) {
Object object = null;
System.out.println("(String)null和\"null\"比较的结果为:" + ("null".equals((String)object)));
System.out.println("String.valueOf(null)和\"null\"比较的结果为:" + "null".equals(String.valueOf(object)));
System.out.println("(\"\" + null)和\"null\"比较的结果为:" + "null".equals("" + object));
}
}
操作結果:
(String)null は "null" と比較します: false
String.valueOf(null) は "null" と比較します: true
("" + null) は "null" と比較します: true
方法 | 例 | 予防 |
---|---|---|
Object.toString() | オブジェクトオブジェクト = getObject(); System.out.println(object.toString()); |
使用するときは注意してください。オブジェクトが null 値でないことを確認する必要があります。そうでない場合は、NullPointerException がスローされます。 |
(文字列)obj | オブジェクト obj = 新しいオブジェクト (); 文字列 strVal = (文字列)obj; |
変換後のデータ型はString型に変換できる必要があります。したがって、 instanceofを使用し て型チェックを実行し、変換できるかどうかを判断するのが最善です 。そうしないと、簡単に CalssCastException がスローされてしまいます。また、Object 型として定義されたオブジェクトが String に変換される場合、構文チェックではエラーが報告されず、潜在的なエラーにつながる可能性があるため、特に注意が必要です。任意の Java クラス型に対して、( String)null も有効です。 |
String.valueOf(オブジェクト) | String.valueOf(オブジェクト) | オブジェクトが null の場合、String.valueOf(object) の値は null ではなく文字列 "null" になることに注意してください。これは、空のフラグをデータとして表示するのと同じです。 |