為什么老師在視頻里把Object類型強制轉(zhuǎn)換為int的時候沒報錯,我自己在轉(zhuǎn)換的時候卻報錯了???????
8 回答

蒲柳隱逸
TA貢獻5條經(jīng)驗 獲得超1個贊
我的環(huán)境是可以的,這得益于jdk1.5的自動裝箱與拆箱,你的版本不可能比1.5更低了。。。
或者你可以這樣,更直觀 。
Integer.parseInt(map.get("id").toString())

手插口袋_
TA貢獻25條經(jīng)驗 獲得超45個贊
這基礎(chǔ)沒誰了。。。。。
首先你語法上有錯,Object 不可以轉(zhuǎn)換為int ?原因不知道嗎?
一個是對象 一個是基本類型。。。。
如果你要語法上不報錯的話, 你可以吧 Int 更換為 Integer(Int的封裝對象)
對象強轉(zhuǎn)對象沒問題
還有Object 是一個父容器
強制轉(zhuǎn)換之前必須要判斷是否是你要的類型例如:
???Map<String,?Object>?map=new?HashMap<String,?Object>(); ???map.put("1",?"hello?world"); ???if(map.get("1")?instanceof?Integer){ ???????Integer?a=(Integer)?map.get("1"); ???????System.out.println(a); ???}else?if(map.get("1")?instanceof?String){ ???????String?a=map.get("1").toString(); ???????String?a1=(String)?map.get("1"); ???????System.out.println(a+"\n"+a1); ???}

歷史與足跡
TA貢獻6條經(jīng)驗 獲得超6個贊
把代碼貼上來啊,你這么問太籠統(tǒng)了,首先JAVA中所有類的父類都是Object, 如果你定義的Object對象就是1、2的整型,在強制類型轉(zhuǎn)換的時候就不會報錯,如果是"str"等字符串對象時不可能被轉(zhuǎn)換為整型的。
添加回答
舉報
0/150
提交
取消