2013-01-05 23 views
7

Birkaç milyon java.lang.Long s yi ilkel int türüne dönüştürmem gereken garip bir senaryo var. Bunu günde birkaç kez, her gün yapmam gerek. Normalde, bu tür basit bir döküm hakkında endişelenmem, ama çok fazla olduğu için, sık sık, şunu sormam gerekiyor: Bunu yapmanın en etkili yolu nedir ve neden?java.lang.Long öğesini ilkel int dönüştüre dönüştürmenin en etkin yolu

Benim ilk girişimi: Bu rağmen

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

ahır 3 tarafını gidecek gibi görünüyor. Şimdiden teşekkürler.

+1

UYARI deneyin) zaten biliyoruz 'long' bir' int' – MrSmith42

+3

'u sığmayabilir Sadece intValue() 'yi kullanın ve uzunlar kısıtlı olmadıkça verileri kaybedersiniz. –

+0

'Long'' 'String'’e dönüştürmeyin ve' int' için ayrıştırmayın. – MrSmith42

cevap

23

, bu sizin için ...

(uyarı, vs vs hassasiyet kaybedebilir aradıklarını olduğunu tahmin deneyin - ama Değerini: muhtemelen

9

Long sınıf bir .intValue() yöntemi vardır bu

int x = myLong.intValue(); 
+0

Hatayı alıyorum: İlk – Anand

+1

@ Anand türünde intValue() yöntemine çağrı yapılamıyor. 'myLong'' 'Long'' long' olarak bildirilmelidir. Son durum için sadece döküm, yani (int) myPrimitiveLong'. –

İlgili konular