我有一個奇怪的場景,我需要將幾百萬個java.lang.Long
轉換爲原始int
類型。我需要每天多次做這個,每一天。通常情況下,我不會擔心這種簡單的演員,但是由於發生了這麼多事情,所以我經常問:什麼是最有效的方法?爲什麼?將java.lang.Long轉換爲原始int的最有效方法
我第一次嘗試:
Long myLong = getLong();
int x = Integer.valueOf(myLong.toString())
雖然這似乎是繞來繞去的烤房3面。提前致謝。
我有一個奇怪的場景,我需要將幾百萬個java.lang.Long
轉換爲原始int
類型。我需要每天多次做這個,每一天。通常情況下,我不會擔心這種簡單的演員,但是由於發生了這麼多事情,所以我經常問:什麼是最有效的方法?爲什麼?將java.lang.Long轉換爲原始int的最有效方法
我第一次嘗試:
Long myLong = getLong();
int x = Integer.valueOf(myLong.toString())
雖然這似乎是繞來繞去的烤房3面。提前致謝。
的Long
類有一個.intValue()
方法,我想這是你在找什麼...
(警告,你可能會失去精度等等等等 - 但你大概已經知道了)
試試這個
int x = myLong.intValue();
我收到錯誤:無法在基本類型long – Anand
@Anand上調用intValue()。 「myLong」必須聲明爲「長」而不是「長」。對於後一種情況,只需投射它,即'(int)myPrimitiveLong'。 –
試試這個
Integer i = (int) (long) b;
警告:值'Long'可能不適合'int' – MrSmith42
只要使用'intValue()',並認識到你會失去數據,除非你的多頭受限。 –
不要將'Long'轉換爲'String',並解析它以得到'int'。 – MrSmith42