中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java怎么實現將Object類型轉換為int類型

發布時間:2021-08-02 17:16:03 來源:億速云 閱讀:194 作者:chen 欄目:開發技術

這篇文章主要介紹“java怎么實現將Object類型轉換為int類型”,在日常操作中,相信很多人在java怎么實現將Object類型轉換為int類型問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java怎么實現將Object類型轉換為int類型”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

如何將Object類型轉換為int類型

Object object = null;
try
{
    Integer.parseInt(object.toString());
}
catch (NumberFormatException e)
{}

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

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

String轉化Integer碰見的坑

項目開發中使用Interger將字符串轉為Integer類型,并進行相應的比較,開始數據較小,并未發現問題,如15

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

返回的結果為true,但是給我423

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

返回的結果為false,立馬查看Integer的源碼,發現了如下代碼

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

發現jdk未-128到127的數據做了一個緩存,如果數字在這個范圍內,是不會再從新new Integer的。問題,明白了,當為423時,會創建2個對象,而我們比較是使用 == 比較地址符的,所以肯定不相同。

我們可以查看下內存地址。15的內存地址

java怎么實現將Object類型轉換為int類型

423的地址

java怎么實現將Object類型轉換為int類型

423的內存地址不一樣。所以我們需要使用equals來做比較,不應該使用==來比較

到此,關于“java怎么實現將Object類型轉換為int類型”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荔浦县| 舒城县| 德兴市| 宝山区| 登封市| 永新县| 汝州市| 大宁县| 葵青区| 岳阳市| 江源县| 威远县| 涡阳县| 荔波县| 天长市| 静宁县| 淮安市| 平果县| 玉龙| 云和县| 始兴县| 商都县| 大冶市| 临沧市| 靖宇县| 彩票| 张家口市| 舒城县| 牙克石市| 岱山县| 麻阳| 宜宾县| 五莲县| 盘锦市| 修水县| 玉屏| 鹤壁市| 铜山县| 天祝| 葫芦岛市| 桃园县|