2013-01-05 52 views
7

我有一個奇怪的場景,我需要將幾百萬個java.lang.Long轉換爲原始int類型。我需要每天多次做這個,每一天。通常情況下,我不會擔心這種簡單的演員,但是由於發生了這麼多事情,所以我經常問:什麼是最有效的方法?爲什麼?將java.lang.Long轉換爲原始int的最有效方法

我第一次嘗試:

Long myLong = getLong(); 
int x = Integer.valueOf(myLong.toString()) 

雖然這似乎是繞來繞去的烤房3面。提前致謝。

+1

警告:值'Long'可能不適合'int' – MrSmith42

+3

只要使用'intValue()',並認識到你會失去數據,除非你的多頭受限。 –

+0

不要將'Long'轉換爲'String',並解析它以得到'int'。 – MrSmith42

回答

23

Long類有一個.intValue()方法,我想這是你在找什麼...

(警告,你可能會失去精度等等等等 - 但你大概已經知道了)

9

試試這個

int x = myLong.intValue(); 
+0

我收到錯誤:無法在基本類型long – Anand

+1

@Anand上調用intValue()。 「myLong」必須聲明爲「長」而不是「長」。對於後一種情況,只需投射它,即'(int)myPrimitiveLong'。 –

相關問題