黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 Java類型轉換異常中比較常見的錯誤

Java類型轉換異常中比較常見的錯誤

更新時間:2022-08-15 06:35:30 來源:動力節點 瀏覽4300次

類型轉換雖然很簡單,但是還是有些小細節要多注意。

String轉化為int:

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

String轉化為Integer,可以如下所示。

也適用于int轉化為Integer:

String test="123";
// String test="abc";  //會報錯:NumberFormatException: For input string
Integer number=Integer.valueOf(test);

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

如果是非數字的字符串,會報錯:NumberFormatException: For input string: ""

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

如果超過了這個范圍,也會報錯。比如Integer.valueOf("2147483648"),超過了Integer范圍。因此會報錯: For input string: "2147483648"

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

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

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

String轉BigDecimal:

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

String轉double :

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

Double轉化為int:

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

其他類型轉String:

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

注意:當String.valueOf()的參數obj為null時,返回值是字符串"null"!!而不是null。

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

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

如果希望obj為null時,返回null,如下:

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

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

Integer轉double:

使用doubleValue()方法,或者 (double)強制轉換。

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

其他類型轉Double:

Double rate= Double.valueOf(obj);

比較小數是否相等。

比較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()的結果值用==,>,

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

以上就是關于“Java類型轉換異常中比較常見的錯誤”介紹,大家如果想了解更多相關知識,可以關注一下動力節點的Java教程,里面有更豐富的知識等著大家去學習,希望對大家能夠有所幫助哦。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 日本一区视频 | 欧美日本视频在线观看 | 91精品欧美成人 | 性欧美极品xxxx欧美一区二区 | 欧美精品亚洲精品日韩经典 | 国产精品亚洲欧美一区麻豆 | 久在线| 精品国产人成亚洲区 | 欧美劲爆第一页 | 日韩欧免费一区二区三区 | 婷婷亚洲综合五月天在线 | 亚洲一二三在线 | 中文字幕日韩理论在线 | 亚洲永久中文字幕在线 | 妇欲欢公爽公妇高h欲 | 亚洲第一区视频在线观看 | 国产成人精品999在线观看 | 好男人www社区资源免费观看 | 天堂资源wwww在线看 | 欧美精品一线二线大片 | 久久久精品免费视频 | 男女啪啪后进式猛烈动态图 | 我就色色综合网 | 成年人免费观看的视频 | 中国黄色免费网站 | 成人十八影院在线观看 | xxxxx在线视频| 欧美日韩国产一区二区三区 | 青草草视频在线观看 | 久久美女性网 | 日韩伦理视频在线观看 | 人人干视频在线观看 | 日本欧美成人免费观看 | 亚1洲二区三区四区免费 | 国产人成午夜免费噼啪视频 | 你懂的在线观看 | 国产免费叼嘿网站免费 | 制服丝袜中文字幕第一页 | 丝袜中文字幕 | 色五月天天 | 在线看欧美日韩中文字幕 |