www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]作者:傻姑不傻鏈接:https://www.jianshu.com/p/e5bfcc2455fd一、前言相信大家在日常開(kāi)發(fā)中這三種方法用到的應(yīng)該很多,尤其是前兩種,經(jīng)常在開(kāi)發(fā)的時(shí)候,隨心所欲,想用哪個(gè)用哪個(gè),既然存在,那就應(yīng)該有它存在的道理,那么什么情況下用哪個(gè)呢?二、代碼實(shí)例1...

作者:傻姑不傻
鏈接:https://www.jianshu.com/p/e5bfcc2455fd

一、前言

相信大家在日常開(kāi)發(fā)中這三種方法用到的應(yīng)該很多,尤其是前兩種,經(jīng)常在開(kāi)發(fā)的時(shí)候,隨心所欲,想用哪個(gè)用哪個(gè),既然存在,那就應(yīng)該有它存在的道理,那么什么情況下用哪個(gè)呢?

二、代碼實(shí)例

1、基本類型

(1)基本類型沒(méi)有toString()方法

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
(2)推薦使用

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
(3)無(wú)法強(qiáng)轉(zhuǎn)

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
(String)是標(biāo)準(zhǔn)的類型轉(zhuǎn)換,將Object類型轉(zhuǎn)為String類型,使用(String)強(qiáng)轉(zhuǎn)時(shí),最好使用instanceof做一個(gè)類型檢查,以判斷是否可以進(jìn)行強(qiáng)轉(zhuǎn),否則容易拋出ClassCastException異常。需要注意的是編寫的時(shí)候,編譯器并不會(huì)提示有語(yǔ)法錯(cuò)誤,所以這個(gè)方法要謹(jǐn)慎的使用。

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
instanceof判斷

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎

2、封裝類型

(1)toString ok

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
(2)String.valueOf()

自然也是可以的。

(3)封裝類型也無(wú)法強(qiáng)轉(zhuǎn)

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎

3、null值問(wèn)題

(1)toString()報(bào)空指針異常

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
(2)String.valueOf()返回字符串“null”

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
(3)null值強(qiáng)轉(zhuǎn)成功

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎

三、源碼分析

1、toString()

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎

2、String.valueOf()

toString()、String.valueOf、(String)強(qiáng)轉(zhuǎn),如何抉擇,你真的了解嗎
String.valueOf()比toString多了一個(gè)非空判斷。

四、總結(jié)

1、toString(),可能會(huì)拋空指針異常

在這種使用方法中,因?yàn)閖ava.lang.Object類里已有public方法.toString(),所以java對(duì)象都可以調(diào)用此方法。但在使用時(shí)要注意,必須保證object不是null值,否則將拋出NullPointerException異常。采用這種方法時(shí),通常派生類會(huì)覆蓋Object里的toString()方法。

2、String.valueOf(),推薦使用,返回字符串“null”

String.valueOf()方法是小編推薦使用的,因?yàn)樗粫?huì)出現(xiàn)空指針異常,而且是靜態(tài)的方法,直接通過(guò)String調(diào)用即可,只是有一點(diǎn)需要注意,就是上面提到的,如果為null,String.valueOf()返回結(jié)果是字符串“null”。而不是null。

3、(String)強(qiáng)轉(zhuǎn),不推薦使用

(String)是標(biāo)準(zhǔn)的類型轉(zhuǎn)換,將Object類型轉(zhuǎn)為String類型,使用(String)強(qiáng)轉(zhuǎn)時(shí),最好使用instanceof做一個(gè)類型檢查,以判斷是否可以進(jìn)行強(qiáng)轉(zhuǎn),否則容易拋出ClassCastException異常。需要注意的是編寫的時(shí)候,編譯器并不會(huì)提示有語(yǔ)法錯(cuò)誤,所以這個(gè)方法要謹(jǐn)慎的使用。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
關(guān)閉
關(guān)閉