一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - java 實(shí)現(xiàn)將Object類型轉(zhuǎn)換為int類型

java 實(shí)現(xiàn)將Object類型轉(zhuǎn)換為int類型

2021-10-29 11:22大哥哥招牌coding Java教程

這篇文章主要介紹了java 實(shí)現(xiàn)將Object類型轉(zhuǎn)換為int類型的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

如何將Object類型轉(zhuǎn)換為int類型

?
1
2
3
4
5
6
7
Object object = null;
try
{
    Integer.parseInt(object.toString());
}
catch (NumberFormatException e)
{}

也可以先判定一下是否是Integer

?
1
2
3
4
5
//可以先判定一下是否是Integer
Object object = "111";
if (object instanceof Integer) {
   Integer.parseInt(object.toString());
}

String轉(zhuǎn)化Integer碰見的坑

項(xiàng)目開發(fā)中使用Interger將字符串轉(zhuǎn)為Integer類型,并進(jìn)行相應(yīng)的比較,開始數(shù)據(jù)較小,并未發(fā)現(xiàn)問題,如15

?
1
2
String a = "15";
System.out.println(Integer.valueOf(a) == Integer.valueOf("15"));

返回的結(jié)果為true,但是給我423

?
1
2
String a = "423";
System.out.println(Integer.valueOf(a) == Integer.valueOf("423"));

返回的結(jié)果為false,立馬查看Integer的源碼,發(fā)現(xiàn)了如下代碼

?
1
2
3
4
5
6
7
public static Integer valueOf(int i) {    
      final int offset = 128;    
      if (i >= -128 && i <= 127) { // must cache     
        return IntegerCache.cache[i + offset];    
     }    
     return new Integer(i);    
}

發(fā)現(xiàn)jdk未-128到127的數(shù)據(jù)做了一個(gè)緩存,如果數(shù)字在這個(gè)范圍內(nèi),是不會(huì)再從新new Integer的。問題,明白了,當(dāng)為423時(shí),會(huì)創(chuàng)建2個(gè)對(duì)象,而我們比較是使用 == 比較地址符的,所以肯定不相同。

我們可以查看下內(nèi)存地址。15的內(nèi)存地址

java 實(shí)現(xiàn)將Object類型轉(zhuǎn)換為int類型

423的地址

java 實(shí)現(xiàn)將Object類型轉(zhuǎn)換為int類型

423的內(nèi)存地址不一樣。所以我們需要使用equals來做比較,不應(yīng)該使用==來比較

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/yanl55555/p/12541563.html

延伸 · 閱讀

精彩推薦
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關(guān)于小米推送Java代碼,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧...

    富貴穩(wěn)中求8032021-07-12
  • Java教程升級(jí)IDEA后Lombok不能使用的解決方法

    升級(jí)IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級(jí),尋思已經(jīng)有好久沒有升過級(jí)了。升級(jí)完畢重啟之后,突然發(fā)現(xiàn)好多錯(cuò)誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java8中Stream使用的一個(gè)注意事項(xiàng)

    Java8中Stream使用的一個(gè)注意事項(xiàng)

    最近在工作中發(fā)現(xiàn)了對(duì)于集合操作轉(zhuǎn)換的神器,java8新特性 stream,但在使用中遇到了一個(gè)非常重要的注意點(diǎn),所以這篇文章主要給大家介紹了關(guān)于Java8中S...

    阿杜7482021-02-04
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程20個(gè)非常實(shí)用的Java程序代碼片段

    20個(gè)非常實(shí)用的Java程序代碼片段

    這篇文章主要為大家分享了20個(gè)非常實(shí)用的Java程序片段,對(duì)java開發(fā)項(xiàng)目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程xml與Java對(duì)象的轉(zhuǎn)換詳解

    xml與Java對(duì)象的轉(zhuǎn)換詳解

    這篇文章主要介紹了xml與Java對(duì)象的轉(zhuǎn)換詳解的相關(guān)資料,需要的朋友可以參考下...

    Java教程網(wǎng)2942020-09-17
  • Java教程Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進(jìn)去或缺失數(shù)據(jù)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程Java實(shí)現(xiàn)搶紅包功能

    Java實(shí)現(xiàn)搶紅包功能

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)搶紅包功能,采用多線程模擬多人同時(shí)搶紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙...

    littleschemer13532021-05-16
主站蜘蛛池模板: 欧美做受 | 欧美日韩高清不卡一区二区三区 | 草莓视频在线观看免费 | aaaa黄色片 | www.一区二区三区.com | 免费在线观看伦理片 | 欧美猛男同志同性video | 恩爱夫妇交换小说 | 国产午夜精品久久理论片小说 | 日本成人黄色片 | 国产亚洲女在线线精品 | 人人爽人人香蕉 | 无码AV熟妇素人内射V在线 | 欧洲第一页 | 国产aaaaa一级毛片 | 欧美一二区 | 无码精品一区二区三区免费视频 | 白丝爆动漫羞羞动漫网站 | ffee性xxⅹ另类老妇hd | 男女男在线精品网站免费观看 | a一级毛片录像带 录像片 | 5g影院天天5g天天爽大陆 | 亚洲欧美日韩久久一区 | 丝袜兔女郎被啪在线观看91 | 草草在线影院 | 国产精品视频二区不卡 | 4虎tv | 国产日本免费 | 青青草原在线免费 | 久草草在线视视频 | 亚飞与亚基高清国语在线观看 | 国内精品久久久久影院男同志 | 香蕉视频在线观看网址 | 大又大又黄又爽免费毛片 | 91嫩草私人成人亚洲影院 | 国产99视频精品免视看9 | 亚洲欧美一区二区久久 | 久久精品午夜一区二区福利 | 二区三区不卡不卡视频 | 免费成年人在线视频 | 蜜月aⅴ免费一区二区三区 蜜桃影像传媒推广 |