例如取消裝箱整數結果轉換爲整數,然後調用intValue()。爲什麼不簡單地將其轉換爲Number,接着是必要的intValue()以獲取原語?當然,這個問題擴展到拆箱所有其他包裝。爲什麼拆箱轉換爲具體的類而不是數字
0
A
回答
0
如果Java做了你的建議,那將會打破非常重要的功能,即裝箱/拆箱不會導致精度損失。在Java中已經有了一個確定的原則,即任何精確丟失的轉換都必須通過一個演員操作符明確要求。它是非法的寫
final int i = 1L;
所以這將是錯的,如果這個工作:
final int i = Long.valueOf(1);
+0
marko好點。 – 2012-04-27 14:33:23
+0
不是一個完整的答案。但有趣! – 2012-06-09 12:55:08
0
首先,我注意到整數是最終的。在對Integer類型的表達式(引用)調用intValue時,不需要檢查實例類型是否覆蓋intValue。這對於表達類型(引用)Number是必要的。
相關問題
- 1. 爲什麼轉換爲接口而不是轉換爲類java?
- 2. 將類型轉換爲拆箱類型
- 3. 是否強制轉換爲基類,包括裝箱和拆箱
- 4. Area.poly in R:爲什麼Shapefile轉換爲類「list」而不是「gpc.poly」?
- 5. 爲什麼拆箱的數組不是可摺疊的實例?
- 6. 爲什麼parseInt()不會將「true」轉換爲數字,而相乘?
- 7. 裝箱和拆箱,爲什麼輸出都不是「System.Object」?
- 8. 爲什麼DateTime不能正確拆箱?
- 9. 轉換和拆箱有什麼區別?
- 10. 爲什麼不抓取異常而不是更具體的URLError?
- 11. 爲什麼我可以轉換爲這種類型而不是其他類型?
- 12. 枚舉爲int,爲什麼使用類型轉換爲int而不是Convert.ToInt32(Enum)?
- 13. 將特殊字符轉換爲HTML實體,爲什麼或爲什麼不?
- 14. 爲什麼JavaScript將parseInt(0000000101126)轉換爲33366而不是101126?
- 15. Ems轉換爲像素 - 爲什麼選擇62.5%而不是6.25%?
- 16. 爲什麼這個.svg文件不能轉換爲字體?
- 17. 應該自動拆箱的數字在java中使用Number.xxxValue()而不是轉換爲XXX.xxxValue()?
- 18. 爲什麼char轉換爲int類型而不是char轉換爲Java中的Integer
- 19. 爲什麼javascript將我的日期轉換爲數字類型
- 20. 將字符串轉換爲集合而不拆分字符
- 21. 爲什麼url_for [:new,Project]轉換爲new_projects_url(複數),而不是new_project_url(單數)?
- 22. 類類型轉換:爲什麼類型轉換功能不叫
- 23. 爲什麼JavaScript轉換它,它是什麼將它轉換爲?
- 24. 爲什麼PHP可以將%2B轉換爲空字符串而不是+?
- 25. 爲什麼我的JavaScript程序不是將它轉換爲整數而不是字符串?
- 26. textutil轉換字體爲黑體,光,而不要黑體
- 27. PHP:爲什麼是一個數字而不是數字?
- 28. 將對象轉換爲值類型時,解決c#拆箱異常的最佳方法是什麼?
- 29. 將字符串拆分爲「'」而不是「?」 「
- 30. 爲什麼在Laravel 5中注入接口而不是具體類。*?
你有超過100個問題,沒有一個公認的答案。我希望這不是即時消息;) – 2012-04-26 07:24:15
pl這是因爲他們沒有得到回答,你可以看到對於yourseltef。 – 2012-04-27 14:34:21
也許從提出這麼多沒有可以接受的答案的問題中可以學到一些東西。 ;) – 2012-04-27 15:31:01