2011-12-28 64 views

回答

7

因爲這超出了int的範圍。改爲使用long/Long

+0

謝謝,我很愚蠢。我以爲我在int範圍內。 – Frans 2011-12-28 22:26:08

1

int在Java中籤 - 這樣的最大值爲2 - 1

如果使用Long.parseLong(value, 16)你會得到你想要的值。如果您很樂意獲得正確的位模式,則可以將其重新轉換爲int,但應將其解釋爲負值。

0

只是因爲它在int的範圍之外。您應該使用long數據類型。

0

Integer.MAX_VALUE是2147483647,它低於您期望的值。所以這個字符串並不代表任何可以解析成int的東西。因此例外。

0

here

int數據類型是一個32位有符號二進制補碼整數。它有 最小值-2,147,483,648和最大值2,147,483,647 (含)。

3,511,280,912> 2,147,483,647,其解釋了NumberFormatException。但是,您可以使用long。從同一頁:

長數據類型是一個64位有符號二進制補碼整數。它有 最小值-9,223,372,036,854,775,808和最大值 9,223,372,036,854,775,807(含)。