溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

java類型轉(zhuǎn)換常見(jiàn)的錯(cuò)誤有哪些

發(fā)布時(shí)間:2021-06-12 10:32:23 來(lái)源:億速云 閱讀:199 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹java類型轉(zhuǎn)換常見(jiàn)的錯(cuò)誤有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

類型轉(zhuǎn)換雖然很簡(jiǎn)單,但是還是有些小細(xì)節(jié)要多注意。

String轉(zhuǎn)化為int:

String test="123";
int number=Integer.parseInt(test);

String轉(zhuǎn)化為Integer,可以如下所示。

也適用于int轉(zhuǎn)化為Integer:

String test="123";
// String test="abc";  //會(huì)報(bào)錯(cuò):NumberFormatException: For input string
Integer number=Integer.valueOf(test);

注意:不管是使用Integer.parseInt(),還是使用Integer.valueOf()將字符串轉(zhuǎn)換成數(shù)字,

如果是非數(shù)字的字符串,會(huì)報(bào)錯(cuò):NumberFormatException: For input string: ""

更安全的做法是,使用apache包的NumberUtils,如下:

String str="abc";
//str不為數(shù)字時(shí),設(shè)置默認(rèn)值為 0
int num = NumberUtils.toInt(str);
//str不為數(shù)字時(shí),設(shè)置默認(rèn)值為其他值,比如1
int defaultNum=NumberUtils.toInt(str,1);

String轉(zhuǎn)BigDecimal:

String str1="2.30";
BigDecimal bd=new BigDecimal(str1);

Double轉(zhuǎn)化為int:

Double test=new Double("1.23");  //Double初始化,最好用String保證精度
int result=test.intValue();

其他類型轉(zhuǎn)String:

// Object obj="123";
String test=String.valueOf(obj);

注意:當(dāng)String.valueOf()的參數(shù)obj為null時(shí),返回值是字符串"null"?。《皇莕ull。

如果希望obj為null時(shí),返回"",可以使用apache-commons-lang的包,如下所示:

Object object=null;
String str = ObjectUtils.toString(object);  //object為null時(shí),結(jié)果為""

如果希望obj為null時(shí),返回null,如下:

ObjectUtils.toString(object,nullStr),第二參數(shù)nullStr表示,當(dāng)object為null時(shí),方法返回的值。

// Object obj=null;
Object object="123";
String str = ObjectUtils.toString(object,null);
//相當(dāng)于 String str= (object == null) ? null : object.toString();

其他類型轉(zhuǎn)Double:

Double rate= Double.valueOf(obj);

以上是“java類型轉(zhuǎn)換常見(jiàn)的錯(cuò)誤有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI