大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java類型轉(zhuǎn)換異常中比較常見的錯(cuò)誤

Java類型轉(zhuǎn)換異常中比較常見的錯(cuò)誤

更新時(shí)間:2022-08-15 06:35:30 來源:動(dòng)力節(jié)點(diǎn) 瀏覽4402次

類型轉(zhuǎ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: ""

另外,Integer類取值和 int 類型取值一致,取值范圍是從-2147483648 至 2147483647(-231至 231-1) ,包括-2147483648 和 2147483647。

如果超過了這個(gè)范圍,也會(huì)報(bào)錯(cuò)。比如Integer.valueOf("2147483648"),超過了Integer范圍。因此會(huì)報(bào)錯(cuò): For input string: "2147483648"

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

注意:NumberUtils只處理整數(shù),不能用來處理小數(shù)。

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);

String轉(zhuǎn)double :

double value = NumberUtils.toDouble("4.23");

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"!!而不是null。

如果希望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();

Integer轉(zhuǎn)double:

使用doubleValue()方法,或者 (double)強(qiáng)制轉(zhuǎn)換。

Integer a= new Integer(5);
int intvalue=a.intValue();
double doublevalue=a.doubleValue();

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

Double rate= Double.valueOf(obj);

比較小數(shù)是否相等。

比較Double是否相等。比較BigDecimal是否相等。

如下所示:

double value=1.23;
if (BigDecimal.ZERO.compareTo(BigDecimal.valueOf(value)) == 0) {
//
}

比較Double類型的大小:

if (Double.valueOf(d1).compareTo(Double.valueOf(d2))<0) {
//...
}

比較double類型的大小:

除了用BigDemical的compare()方法,可以直接用Double.doubleToLongBits()的結(jié)果值用==,>,

if(Double.doubleToLongBits(d1) == Double.doubleToLongBits(d2))){
//
}

以上就是關(guān)于“Java類型轉(zhuǎn)換異常中比較常見的錯(cuò)誤”介紹,大家如果想了解更多相關(guān)知識,可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java教程,里面有更豐富的知識等著大家去學(xué)習(xí),希望對大家能夠有所幫助哦。

提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产成人精品一区二区 | 国产网站视频 | 日日摸日日碰夜夜爽久久 | 99综合久久| 欧美精品国产一区二区 | 久久久麻豆 | 国产一区私人高清影院 | 91精品成人福利在线播放 | 日操夜操天天操 | 91精品免费观看老司机 | 国产日韩欧美亚洲精品95 | 欧美社区 | 免费一级a毛片免费观看欧美大片 | 色成年激情久久综合 | 国产精品美女一级在线观看 | 99视频精品国在线视频艾草 | 国产美女a做受大片免费 | 免费播放国产性色生活片 | 色综久久 | 福利在线观看 | 天天操人人爱 | 久久久噜噜噜久久 | 欧美大片日韩精品四虎影视 | 国产深夜福利视频在线观看 | 热热九九| 99精品一区二区三区 | 玖热在线 | 日本黄色一级毛片 | 久久精品免观看国产成人 | 四虎影视网 | 2017天天干天天射 | 欧美日本一区 | 欧美成人在线免费观看 | 欧美精品1区2区 | 久久精品国产三级不卡 | 午夜一级视频 | 精品一区二区三区在线观看l | 看片一区| 亚洲欧洲视频在线观看 | 人人爱人人性 | 免费高清一级欧美片在线观看 |