JVM文檔指出short是作爲int實現的,所以我想知道是否可以有任何好處來代替它。它可能會使用更少的內存或處理速度更快?對於限制<100的循環,使用'short'而不是'int'是明智嗎?
1
A
回答
2
這只是一個意見,但我會說這不是明智的。
- 你偏離標準大家都知道。人們突然需要考慮循環的正確性和意圖。這浪費了寶貴的開發時間,可能比幾個字節的內存更昂貴。
- 當某個點某人從100變爲更大的值時,它也會引入微妙的錯誤:編譯器不會抱怨,但是您可能會創建一個無限循環。
例如
for (short s = 0; s < Short.MAX_VALUE + 1; s++)
永遠不會停止,因爲s++
溢出默默,而在s < Short.MAX_VALUE + 1
s
提升爲int
。
使用小於int
的類型最適合用於需要2字節值的語義的情況&如何溢出,而不是試圖節省空間。
0
真的有不好的一面吧,看到這個前面回答一個類似的問題:
https://stackoverflow.com/a/14532302/5490728
它甚至有關的性能可能損失會談。
此外,正如zapl已經指出的那樣,協作者可能不會習慣它併產生錯誤。
(我讀過它應該可以將這個問題標記爲重複15個聲望,但是我在'flag'菜單中找不到該選項,我希望這種回答也可以。)
相關問題
- 1. 使用LINQ替換循環是明智的嗎?
- 2. 從BigInteger轉換爲int是明智嗎?
- 3. 在foreach循環中調用方法和嵌套循環是明智的嗎?
- 4. For循環,而限制是負數
- 5. SwingUtilities.invokeLater無限循環,而不是繼續?
- 6. 如何在for循環中使用double而不是int?
- 7. 是否可以使用while循環而不是for循環?
- 8. 強制Java雙,而不是使用int
- 9. 內容明智而不是頁面明智的PDF比較庫
- 10. 使用for循環,而不是地圖
- 11. 使用reduce而不是for循環
- 12. 對於SqlServer查找表,使用tinyint而不是int值得麻煩嗎?
- 13. c# - 是SHORT數據類型還是INT?
- 14. 對於大型表數據集,使用Int PK而不是GUID
- 15. 使用while循環,而不是爲循環
- 16. 對於每個循環不是在PHP
- 17. 如何使用for循環而不是while循環使用相同的答案
- 18. 如何將進度圈限制爲60而不是100%
- 19. 使用小數據類型(例如short而不是int)是否減少內存使用量?
- 20. 如何構建明智的數據框架而不是明智的列?
- 21. 的Java:使用短而不是INT
- 22. 使用,而不是一個foreach循環,而用myslqli_fetch_array()
- 23. PHP:while循環是無限的
- 24. C++:用於循環打印地址而不是值的數組
- 25. 在Python中對無限循環使用無限遞歸是否是一種罪?
- 26. 而不是使用for循環,我如何製作一個循環,告訴它你想循環的次數?
- 27. 跑馬燈循環不是無限的
- 28. 隨機int無限循環
- 29. Heapoverflow而不是無限循環中的Stackoverflow
- 30. 使用Python http請求獲取<response [200]>而不是INT
您閱讀的文檔是正確的。如果你不把它存儲在一個數組中,沒有意義。 –