2013-01-05 8 views
7

में कनवर्ट करने का सबसे प्रभावी तरीका मेरे पास एक अजीब परिदृश्य है जहां मुझे कई मिलियन java.lang.Long को आदिम int प्रकारों में परिवर्तित करने की आवश्यकता है। मुझे दिन में कई बार ऐसा करने की ज़रूरत है, हर दिन। आम तौर पर, मैं इस तरह के सरल कास्टिंग के बारे में चिंता नहीं करता, लेकिन चूंकि यह इतना हो रहा है, इसलिए अक्सर मुझे यह पूछना है: ऐसा करने का सबसे प्रभावी तरीका क्या है, और क्यों?java.lang.Long से primitive int

मेरा पहला प्रयास:

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

इस हालांकि खलिहान लगभग 3 पक्षों के लिए जा रहा तरह लगता है। अग्रिम में धन्यवाद।

+1

चेतावनी का प्रयास करें: मूल्य 'लांग'' int' – MrSmith42

+3

में फिट नहीं हो सकता है बस 'intValue() 'का उपयोग करें, और पहचानें कि जब तक आपकी लंबी सीमाएं सीमित न हों तब तक आप डेटा खो देंगे। –

+0

'लांग' से' स्ट्रिंग 'को परिवर्तित न करें और इसे' int' प्राप्त करने के लिए पार्स करें। – MrSmith42

उत्तर

23

Long वर्ग एक .intValue() विधि है, मुझे लगता है कि यह आपके लिए ...

(चेतावनी, आप परिशुद्धता आदि आदि खो सकते हैं क्या देख रहे है की कोशिश करो - लेकिन आप शायद जानते हैं कि पहले से ही)

9

इस

int x = myLong.intValue(); 
+0

मुझे त्रुटि मिल रही है: प्राचीन प्रकार के लंबे – Anand

+1

@Aand पर intValue() का आह्वान नहीं कर सकता। 'myLong' को' लांग 'के रूप में घोषित नहीं किया जाना चाहिए' लंबा '। बाद के मामले के लिए बस इसे कास्ट करें, यानी '(int) myPrimitiveLong'। –