」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 在 Java 中如何安全地將 Long 轉換為 Int?

在 Java 中如何安全地將 Long 轉換為 Int?

發佈於2024-11-09
瀏覽:593

How Can I Safely Cast Long to Int in Java?

在Java 中安全地將Long 轉換為Int:一個全面的解決方案

在Java 中使用數位類型時,請確保轉換至關重要操作不會導致資料遺失。當將 long 值轉換為 int 時,這一點尤其重要,因為 long 的精度可能超過 int。

Java 8:簡化流程

Java 8 之前的版本,安全地將 long 轉換為 int 需要進行繁瑣的檢查以驗證轉換不會改變該值。然而,隨著 Java 8 的引入,添加了一種新方法來簡化此過程:

import static java.lang.Math.toIntExact;

long foo = 10L;
int bar = toIntExact(foo);

如果轉換導致溢出,toIntExact 方法將引發 ArithmeticException,以確保保持資料完整性。

其他溢流安全方法

Java 8 也引進了其他幾種溢位安全方法。這些方法都以「exact」結尾,並提供以下功能:

  • Math.incrementExact(long):將 long 值增加 1。
  • Math.subtractExact(long, 長 ): 將一個長值減去另一個長值。
  • Math.decrementExact(long): 將長值減一。
  • Math.negateExact(long): 對長值求反。
  • Math.subtractExact(int, int):從一個 int 值中減去另一個值。

結論

透過利用toIntExact 方法和其他溢出- Java 8 中加入了安全方法,開發人員可以放心地將long 值轉換為int,而無需犧牲數據準確性。這對於保持數值計算的完整性和確保程式碼的可靠性至關重要。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3