日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jdk 8 时区 转换_JDK 8 BigInteger精确缩小转换方法

發布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jdk 8 时区 转换_JDK 8 BigInteger精确缩小转换方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

jdk 8 時區 轉換

在博客文章“ Java中Long到Int的精確轉換 ”中,我討論了使用Math.toIntExact(Long)將Long精確地轉換為int或者如果無法縮小轉換范圍則拋出ArithmeticException 。

JDK 8引入了該方法, JDK 8還向BigInteger類引入了類似的縮小轉換方法。 這些BigInteger方法是本文的主題。

BigInteger在JDK 8中添加了四個新的“精確”方法:

  • byteValueExact() –盡可能將BigInteger值準確轉換為byte
  • shortValueExact() –如果可能,將BigInteger值轉換為short
  • intValueExact() –盡可能將BigInteger值準確轉換為int
  • longValueExact() –如果可能,將BigInteger值精確轉換為long

如上所述,通過JDK 8添加到BigInteger的這四個“精確”方法中的每一個都可以將BigInteger的值縮小到方法名稱中的數據類型(如果可能)。 由于所有這些類型( byte , short , int和long )的范圍都小于BigInteger ,因此在任何情況下, BigDecimal的值都可能比這四種類型中的任何一種都大。 在這種情況下,所有這四個“精確”方法都將引發ArithmeticException而不是悄悄地“將”較大的值“強制”為較小的表示形式(在大多數情況下,這通常是無意義的數字)。

可以在GitHub上找到使用這些方法的示例。 執行這些示例時,輸出如下所示:

===== Byte ===== 125 => 125 126 => 126 127 => 127 128 => java.lang.ArithmeticException: BigInteger out of byte range 129 => java.lang.ArithmeticException: BigInteger out of byte range ===== Short ===== 32765 => 32765 32766 => 32766 32767 => 32767 32768 => java.lang.ArithmeticException: BigInteger out of short range 32769 => java.lang.ArithmeticException: BigInteger out of short range ===== Int ===== 2147483645 => 2147483645 2147483646 => 2147483646 2147483647 => 2147483647 2147483648 => java.lang.ArithmeticException: BigInteger out of int range 2147483649 => java.lang.ArithmeticException: BigInteger out of int range ===== Long ===== 9223372036854775805 => 9223372036854775805 9223372036854775806 => 9223372036854775806 9223372036854775807 => 9223372036854775807 9223372036854775808 => java.lang.ArithmeticException: BigInteger out of long range 9223372036854775809 => java.lang.ArithmeticException: BigInteger out of long range

在帶有JDK 8的BigInteger添加這些“精確”方法是一種受歡迎的方法,因為與數字縮小和溢出相關的錯誤可能很細微。 擁有一種簡單的方法來獲得“精確的”縮小是很好的,否則將無法通過異常使這種縮小變得明顯。

翻譯自: https://www.javacodegeeks.com/2018/06/biginteger-exact-narrowing-conversion-methods.html

jdk 8 時區 轉換

總結

以上是生活随笔為你收集整理的jdk 8 时区 转换_JDK 8 BigInteger精确缩小转换方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。