java 實(shí)現(xiàn)將Object類型轉(zhuǎn)換為int類型
如何將Object類型轉(zhuǎn)換為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轉(zhuǎn)化Integer碰見的坑
項(xiàng)目開發(fā)中使用Interger將字符串轉(zhuǎn)為Integer類型,并進(jìn)行相應(yīng)的比較,開始數(shù)據(jù)較小,并未發(fā)現(xiàn)問題,如15
String a = "15";
System.out.println(Integer.valueOf(a) == Integer.valueOf("15"));
返回的結(jié)果為true,但是給我423
String a = "423";
System.out.println(Integer.valueOf(a) == Integer.valueOf("423"));
返回的結(jié)果為false,立馬查看Integer的源碼,發(fā)現(xiàn)了如下代碼
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ì)再?gòu)男耼ew Integer的。問題,明白了,當(dāng)為423時(shí),會(huì)創(chuàng)建2個(gè)對(duì)象,而我們比較是使用 == 比較地址符的,所以肯定不相同。
我們可以查看下內(nèi)存地址。15的內(nèi)存地址

423的地址

423的內(nèi)存地址不一樣。所以我們需要使用equals來做比較,不應(yīng)該使用==來比較
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于MyBatis Plus中使用or和and問題
這篇文章主要介紹了關(guān)于MyBatis Plus中使用or和and問題,需要的朋友可以參考下2020-12-12
15道非常經(jīng)典的Java面試題 附詳細(xì)答案
這篇文章主要為大家推薦了15道非常經(jīng)典的Java面試題,附詳細(xì)答案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10
springboot多環(huán)境配置文件及自定義配置文件路徑詳解
這篇文章主要介紹了springboot多環(huán)境配置文件及自定義配置文件路徑,文中給大家介紹了classpath的基本概念講解及自定義springboot配置文件路徑的相關(guān)知識(shí),需要的朋友可以參考下2023-02-02
ZooKeeper開發(fā)實(shí)際應(yīng)用案例實(shí)戰(zhàn)
這篇文章主要為大家介紹了ZooKeeper開發(fā)的實(shí)際應(yīng)用案例實(shí)戰(zhàn),文中附含詳細(xì)開發(fā)應(yīng)用源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-01-01
maven多moudle項(xiàng)目在idea里面顯示多個(gè)root問題及解決
這篇文章主要介紹了maven多moudle項(xiàng)目在idea里面顯示多個(gè)root問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05
Java實(shí)現(xiàn)“年-月-日 上午/下午時(shí):分:秒”的簡(jiǎn)單代碼
當(dāng)前的日期輸出的方法有很多,本文為大家介紹下在java中是如何實(shí)現(xiàn)“年-月-日 上午/下午時(shí):分:秒”,感興趣的朋友不妨參考下2015-08-08
mybatis-plus插入一條數(shù)據(jù),獲取插入數(shù)據(jù)自動(dòng)生成的主鍵問題
這篇文章主要介紹了mybatis-plus插入一條數(shù)據(jù),獲取插入數(shù)據(jù)自動(dòng)生成的主鍵問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
Spring中bean的初始化和銷毀幾種實(shí)現(xiàn)方式詳解
這篇文章主要介紹了Spring中bean的初始化和銷毀幾種實(shí)現(xiàn)方式詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

