Integer値範囲とNumberFormatExceptionの解決

1699 ワード

プロジェクトサービス側には現地のニュースを検索するインタフェースがあり、GEOファイルからcodeを取得し、バックグラウンドで検索します.
午后のテストの时に日本を调べます:392000000,000,结果はjava.lang.Number FormatException、数値フォーマット異常、
デバッグ後、コードに整数かどうかの判断があり、StringをIntegerに変換し、「392000000」がintの値域を超えて異常を報告します.
JDK 7の仮想マシンにおいてintの値範囲は「-2^31~(2^31-1)」である.
byteタイプの場合、値範囲は-128〜127(-27〜27-1)であり、-128および127を含む. 
shortタイプの場合、値範囲は−32768〜32767(−215〜215−1)であり、−32768および32767を含む.intタイプについては、−2147483648〜2147483647(−231〜231−1)の範囲であり、−2147483648および2147483647を含む.longタイプについては、−922337203685475808〜922337203685475807(−263〜263−1)の範囲であり、−922337203685475808および922337203685475807を含む.charタイプの場合、0および65535を含む値範囲は0から65535です.
テスト:
public class Integertest {

         public static void main(String[] args) {

          System.out.println("" + Integer.MAX_VALUE);

          System.out.println("" + Integer.MIN_VALUE);

         }

}

出力:
2147483647-2147483648