開發中常常遇到從集合類List、Map中取出數據轉換爲String的問題,這裏若是處理很差,常常會遇到空指針異常java.lang.NullPointerException,在此總結一下經常使用轉換爲String的方法,以及轉換後如何對其進行判null使用的問題。java
強制類型轉換,對象obj爲null,結果也爲null,可是obj必須保證其本質是String類型的值,便可轉換的值。apache
例如,不能強制轉換 (String) 123 spa
調用對象的toString方法,必須保證本類或者父類已經重寫了Object類的toString方法,若是沒有重寫toString方法,指針
將默認調用Object類的toString方法,返回getClass().getName() + '@' + Integer.toHexString(hashCode()),code
並非obj的實際字符串表示,同時還必須保證對象obj不能爲null,否者調用toString方法會報空指針異常java.lang.NullPointerException。對象
對象obj爲null,轉換結果爲字符串"null",不然,返回 obj.toString()
的值。開發
注意,若是爲obj爲null,這裏轉換後的值已是字符串的「null」,判空不能再用 obj == null,也不能使用apache.commons.lang3字符串
下的StringUtils.isBank(CharSequence cs),而應該用 str.equals("null")。get
已經知道obj爲String類型的狀況下:hash
使用方法1轉換爲String,轉換爲String後判null條件爲:if (objStr != null)