首頁  >  文章  >  Java  >  在 Java 中如何安全地將 Long 轉換為 Int?

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

DDD
DDD原創
2024-10-26 13:58:02357瀏覽

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 的引入,增加了一個新方法來簡化此過程:

<code class="java">import static java.lang.Math.toIntExact;

long foo = 10L;
int bar = toIntExact(foo);</code>

如果轉換導致溢出,toIntExact 方法會拋出 ArithmeticException,以確保維護資料完整性。

其他溢位安全方法

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

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

結論

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

以上是在 Java 中如何安全地將 Long 轉換為 Int?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn