मुझे जावा में एक साधारण सवाल मिला: मैं String
को कैसे परिवर्तित कर सकता हूं जिसे Long.toString()
से long
पर प्राप्त किया गया था?स्ट्रिंग से जावा में लंबे समय तक कैसे परिवर्तित करें?
उत्तर
उपयोग Long.parseLong()
Long.parseLong("0", 10) // returns 0L
Long.parseLong("473", 10) // returns 473L
Long.parseLong("-0", 10) // returns 0L
Long.parseLong("-FF", 16) // returns -255L
Long.parseLong("1100110", 2) // returns 102L
Long.parseLong("99", 8) // throws a NumberFormatException
Long.parseLong("Hazelnut", 10) // throws a NumberFormatException
Long.parseLong("Hazelnut", 36) // returns 1356099454469L
Long.parseLong("999") // returns 999L
एक लांग (वस्तु) के लिए एक स्ट्रिंग बदलने के लिए, का उपयोग Long.valueOf(String s).longValue();
देखें link
में लंबे स्ट्रिंग में कनवर्ट करने के लिए [5 उदाहरण के साथ तरीके] (http://javadevnotes.com/java-string-to-long-examples) यही वह नहीं है जो ओपी पूछ रहा है। –
मैं यह देखने में असफल रहा कि यह क्यों कम किया गया था। यह गलत नहीं है। –
मुझे लगता है कि मूल्य एक स्ट्रिंग देता है ... – Belgi
public class StringToLong {
public static void main (String[] args) {
// String s = "fred"; // do this if you want an exception
String s = "100";
try {
long l = Long.parseLong(s);
System.out.println("long l = " + l);
} catch (NumberFormatException nfe) {
System.out.println("NumberFormatException: " + nfe.getMessage());
}
}
}
यह ठीक काम नहीं कर रहा है – Erum
Long.valueOf(String s) - स्पष्ट रूप से गैर-संख्याओं के विरुद्ध सुरक्षा के लिए सावधानी बरतनी चाहिए यदि यह आपके कोड में संभव है।
नोट: यह विधि 'लंबी' नहीं है लेकिन 'लांग' ऑब्जेक्ट –
यदि आप जेनेरिक के साथ मानचित्र का उपयोग कर रहे हैं, तो आपको मान को स्ट्रिंग में परिवर्तित करने की आवश्यकता है और फिर लंबे समय में कनवर्ट करने का प्रयास करें। नीचे नमूना कोड है
Map map = new HashMap();
map.put("name", "John");
map.put("time", "9648512236521");
map.put("age", "25");
long time = Long.valueOf((String)map.get("time")).longValue() ;
int age = Integer.valueOf((String) map.get("aget")).intValue();
System.out.println(time);
System.out.println(age);
सबसे अच्छा तरीका Long.valueOf(str)
है, क्योंकि यह Long.valueOf(long)
जो इसे अधिक कुशल अगर -128
से 127
शामिल करने के लिए जा Long
की कैश्ड उदाहरणों की जरूरत है, क्योंकि यह पुन: उपयोग होगा बनाने के लिए एक आंतरिक कैश का उपयोग करता पर निर्भर करता है।
Long
आवृत्ति निर्दिष्ट लंबे मान का प्रतिनिधित्व करता है। यदि नया लॉन्ग इंस्टेंस आवश्यक नहीं है, तो यह विधि आमतौर पर को कन्स्ट्रक्टरLong(long)
की प्राथमिकता में उपयोग की जानी चाहिए, क्योंकि यह विधि द्वारा अक्सर बेहतर मूल्य और समय प्रदर्शन को संभवतः बेहतर मूल्यों को कैशिंग करने की संभावना है। ध्यान दें कि इंटीजर क्लास में संबंधित विधि के विपरीत, किसी विधि को कैश करने के लिए इस विधि को आवश्यक नहीं है।
auto-unboxing अपनी इसी आदिम प्रकार में एक आवरण वर्ग के उदाहरण कन्वर्ट करने के लिए अनुमति देता है के लिए धन्यवाद, कोड तो होगा:
long val = Long.valueOf(str);
कृपया ध्यान दें कि पिछले कोड को अभी भी एक NumberFormatException
फेंक कर सकते हैं अगर प्रदान की String
हस्ताक्षरित long
से मेल नहीं खाता है।
सामान्य शब्दों में, यह Integer
, Boolean
, Long
की तरह एक आवरण वर्ग के static
कारखाने विधि valueOf(str)
उपयोग करने के लिए एक अच्छा अभ्यास है, ... के बाद से उनमें से ज्यादातर मामलों का पुन: उपयोग जब भी यह उन्हें संभावित रूप से अधिक समय में कुशल बनाने के लिए संभव है संबंधित parse
विधियों या रचनाकारों की तुलना में स्मृति पदचिह्न का।
Effective JavaItem 1
यहोशू बलोच द्वारा लिखित से अंश:
आप अक्सर अपरिवर्तनीय पर कंस्ट्रक्टर्स वरीयता में स्थिर कारखाने तरीकों का उपयोग कर (मद 1) द्वारा अनावश्यक वस्तुओं बनाने से बच सकते हैं कक्षाएं जो दोनों प्रदान करती हैं। उदाहरण के लिए, स्थैतिक फैक्ट्री विधि
Boolean.valueOf(String)
कन्स्ट्रक्टरBoolean(String)
के लिए लगभग हमेशा बेहतर है। कन्स्ट्रक्टर प्रत्येक बार इसे कॉल करने पर एक नई ऑब्जेक्ट बनाता है, जबकि स्थैतिक फैक्ट्री विधि कभी भी ऐसा करने की आवश्यकता नहीं होती है और अभ्यास में नहीं होगी।
यह ध्यान देने योग्य है कि लंबे समय तक - लंबे, लंबे समय के मामले में ऑटो-अनबॉक्सिंग कंपाइलर द्वारा "विलुप्त" होती है।valueOf (primitiveLong)। तो 'लंबी संख्या = Long.valueOf ("123") ',' लंबी संख्या = Long.parseLong (" 123 ")' और 'लंबी संख्या = Long.valueOf (Long.parseString (" 123 ") 'सब खत्म हो रहा है बहुत कुछ वही बात। आप जो * करना चाहते हैं, उसके बारे में सावधान रहना चाहते हैं, वह बॉक्सिंग आदिम वर्गों के रचनाकारों को नहीं बुला रहा है - जो अपमानजनक हो सकता है। इसलिए 'लंबी संख्या = नया लंबा (पार्सलॉन्ग ("123")) ' –
जो लोग Kotlin में स्विच करने के लिए सिर्फ
string.toLong()
कि हुड
किसी तरह स्ट्रिंग कन्वर्ट करने के लिए कर रहे हैं के तहत Long.parseLong(string)
फोन करेगा पूर्णांक तक का उपयोग करें:
1)
long l = Long.parseLong("200");
2)
String numberAsString = "1234";
long number = Long.valueOf(numberAsString);
3)
String numberAsString = "1234";
Long longObject = new Long(numberAsString);
long number = longObject.longValue();
हम को छोटा कर सकते हैं:
String numberAsString = "1234";
long number = new Long(numberAsString).longValue();
या बस
long number = new Long("1234").longValue();
4) का उपयोग Decemal प्रारूप:
String numberAsString = "1234";
DecimalFormat decimalFormat = new DecimalFormat("#");
try {
long number = decimalFormat.parse(numberAsString).longValue();
System.out.println("The number is: " + number);
} catch (ParseException e) {
System.out.println(numberAsString + " is not a valid number.");
}
- 1. स्ट्रिंग को लंबे समय तक परिवर्तित करें
- 2. जावा: लंबे समय तक टिमस्टैम्प
- 3. जावा लंबे समय तक बाइनरी
- 4. स्ट्रिंग को लंबे समय तक परिवर्तित करने के लिए
- 5. जावा कनवर्टिंग लंबे समय तक मुद्रा में
- 6. लंबे समय से int में .NET को कैसे परिवर्तित करें?
- 7. जावा में लंबे समय तक mod2^64 कैसे करें?
- 8. एक स्ट्रिंग को जावास्क्रिप्ट में लंबे समय तक कैसे परिवर्तित करें?
- 9. लंबे समय तक
- 10. अजगर में लंबे स्ट्रिंग परिवर्तित
- 11. लंबे समय तक कास्ट करें
- 12. एक लंबे समय तक एक निश्चित लंबाई 16-बिट बाइनरी स्ट्रिंग को कैसे परिवर्तित करें?
- 13. सबसे लंबे समय तक बार-बार-स्ट्रिंग
- 14. टाइप ऑब्जेक्ट से लेकर लंबे समय तक
- 15. जावा में लंबे समय तक कनवर्ट करना 1 9 70
- 16. लंबे समय तक लाइनों()
- 17. लंबे समय तक XMLGregorian कैलेंडर और लंबे समय तक
- 18. मैं सी ++ में लंबे समय तक एक स्ट्रिंग को कैसे परिवर्तित करूं?
- 19. जावा लंबे समय से MySQL
- 20. जावा: लंबा परिणाम = -1: int से लंबे समय तक परिवर्तित नहीं हो सकता
- 21. जावा में फ्लोट से बड़ा डीसीमल तक कैसे परिवर्तित करें?
- 22. कास्टिंग के बिना डबल से लंबे समय तक कैसे परिवर्तित करें?
- 23. लंबे समय तक प्रेस करें एंड्रॉइड
- 24. जावा में हेक्स में नकारात्मक लंबे समय तक कैसे पार्स करें
- 25. क्या लंबे और लंबे समय तक पूर्णांक
- 26. लंबे समय तक आइटम हटाएं
- 27. फेसबुक से लंबे समय तक लाइव टोकन प्राप्त करें
- 28. जावा में जोडा लोकलडेट से स्ट्रिंग को कैसे परिवर्तित करें?
- 29. बिटवाई "और" लंबे समय तक?
- 30. SQLite लंबे प्रारूपों के लिए लंबे समय तक?
कैसे जावा –