您好,登錄后才能下訂單哦!
這篇文章主要介紹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è)資訊頻道!
免責(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)容。