Java:オブジェクトを文字列に変換する3つの方法を簡単に説明します.


Java:オブジェクトを文字列に変換する3つの方法を簡単に説明します.
Javaプロジェクトの実際の開発やアプリケーションでは、オブジェクトをStringに変換する基本的な機能が必要になることが多い.本稿では,よく用いられる変換方法についてまとめる.
一、強制型変換
この方法を使用する場合、タイプがStringタイプに変換される必要があることに注意してください.そのためinstanceofでタイプチェックをして、変換できるかどうかを判断したほうがいいです.そうでないとCalssCastException異常が放出されやすい.さらに、Objectタイプとして定義されたオブジェクトがStringに移行したときに構文チェックが間違っていないため、潜在的なエラーが発生する可能性があることに注意してください.この時は特に気をつけなければならない.次のようになります.
Object obj = new Integer(100);
String strVal = (String)obj;

Integerタイプを強制的にStringタイプに変換したため、実行中にエラーが発生します.
二、ObjectのtoString()方法
java.lang.Objectクラスにはpublicメソッドがあります.toString()なので、厳密なjavaオブジェクトに対してこのメソッドを呼び出すことができます.ただし、objectがnull値でないことを保証する必要があります.そうしないと、Null PointerException異常が放出されます.この方法を採用する場合,派生クラスは通常Object内のtoString()メソッドを上書きする.
例:
Object obj  = null;
Obj.toString();

上記のコードはNullPointerException異常を放出します.
三、Stirng.valueOf();
この方法は静的で,直接String呼び出しにより,完璧といえるが,普段はこのように書くことに慣れていないだけで,このような実現は前の2つの不足と欠点を回避した.まず、彼の内部の実現メカニズムを見てみましょう.
public static String valueOf(Object obj){
    return (obj==null) ? "null" : obj.toString()
};

内部では空の判断をしているので、空のポインタ異常は報告されません.
上のソースコードからnull値が心配しない理由がよくわかります.しかし、これもちょうど私たちに隠れた危険を与えた.objectがnullの場合String.valueOf(object)の値はnull!!!ではなく文字列「null」です.使用中は注意してください.