Java String轉(zhuǎn)換時(shí)為null的解決方法
開發(fā)中經(jīng)常遇到從集合類List、Map中取出數(shù)據(jù)轉(zhuǎn)換為String的問題,這里如果處理不好,經(jīng)常會遇到空指針異常java.lang.NullPointerException,在此總結(jié)一下常用轉(zhuǎn)換為String的方法,以及轉(zhuǎn)換后如何對其進(jìn)行判null使用的問題。
Java中對象轉(zhuǎn)換為String的常用方法:
方法一:String objStr = (String) obj:
強(qiáng)制類型轉(zhuǎn)換,對象obj為null,結(jié)果也為null,但是obj必須保證其本質(zhì)是String類型的值,即可轉(zhuǎn)換的值。
例如,不能強(qiáng)制轉(zhuǎn)換 (String) 123
方法二:String objStr = obj.toString():
調(diào)用對象的toString方法,必須保證本類或者父類已經(jīng)重寫了Object類的toString方法,如果沒有重寫toString方法,
將默認(rèn)調(diào)用Object類的toString方法,返回getClass().getName() + '@' + Integer.toHexString(hashCode()),
并不是obj的實(shí)際字符串表示,同時(shí)還必須保證對象obj不能為null,否者調(diào)用toString方法會報(bào)空指針異常java.lang.NullPointerException。
方法三:String objStr = String.valueOf(obj):
對象obj為null,轉(zhuǎn)換結(jié)果為字符串"null",否則,返回 obj.toString() 的值。
注意,如果為obj為null,這里轉(zhuǎn)換后的值已經(jīng)是字符串的“null”,判空不能再用 obj == null,也不能使用apache.commons.lang3
下的StringUtils.isBank(CharSequence cs),而應(yīng)該用 str.equals("null")。
已經(jīng)知道obj為String類型的情況下:
使用方法1轉(zhuǎn)換為String,轉(zhuǎn)換為String后判null條件為:if (objStr != null)
慎用方法2
對于不知道具體類型的情況下,可以使用方法3,只是轉(zhuǎn)換后String的判null條件改為:if (!objStr.equals('null'))
以上所述是小編給大家介紹的Java String轉(zhuǎn)換時(shí)為null的解決方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
http協(xié)議進(jìn)階之Transfer-Encoding和HttpCore實(shí)現(xiàn)詳解
這篇文章主要給大家介紹了http協(xié)議之Transfer-Encoding和HttpCore實(shí)現(xiàn)的相關(guān)資料,文中介紹的非常詳細(xì),相信對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。2017-04-04
Maven入門之使用Nexus搭建Maven私服及上傳下載jar包
這篇文章主要介紹了Maven入門之使用Nexus搭建Maven私服及上傳下載jar包,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-12-12
SpringMVC通過攔截器實(shí)現(xiàn)IP黑名單
這篇文章主要為大家詳細(xì)介紹了SpringMVC通過攔截器實(shí)現(xiàn)IP黑名單,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
關(guān)于swagger配置及踩坑@Api參數(shù)postion無效解決接口排序問題
這篇文章主要介紹了關(guān)于swagger配置及踩坑@Api參數(shù)postion無效解決接口排序問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
Spring Boot 通過CORS實(shí)現(xiàn)跨域問題
這篇文章主要介紹了Spring Boot 通過CORS實(shí)現(xiàn)跨域,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
JSON.toJSONString()方法在Java中的使用方法及應(yīng)用場景
這篇文章主要給大家介紹了關(guān)于JSON.toJSONString()方法在Java中的使用方法及應(yīng)用場景,JSON.toJSONString是將對象轉(zhuǎn)化為Json字符串,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04
MyBatis結(jié)果映射(ResultMap)的使用
在MyBatis中,結(jié)果映射是實(shí)現(xiàn)數(shù)據(jù)庫結(jié)果集到Java對象映射的核心,它不僅支持簡單的字段映射,還能處理字段名不一致、嵌套對象和集合映射等復(fù)雜場景,通過ResultMap,開發(fā)者可以靈活定義映射關(guān)系,以適應(yīng)各種需求,感興趣的可以了解一下2024-09-09

