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

