स्ट्रिंग को लंबे समय तक कैसे बदलें / कास्ट करें?


290

मैंने सिर्फ नमूना बीबी ऐप बनाया है, जो तारीख चुनने की अनुमति दे सकता है।

DateField curDateFld = new DateField("Choose Date: ",
  System.currentTimeMillis(), DateField.DATE | DateField.FIELD_LEFT);

तारीख चुनने के बाद, मुझे उस लंबे मान को स्ट्रिंग में परिवर्तित करने की आवश्यकता है, ताकि मैं डेटाबेस में तारीख मूल्य को आसानी से संग्रहीत कर सकूं। मैं जावा और ब्लैकबेरी के विकास में नया हूं।

long date = curDateFld.getDate();

मुझे इस लंबे मान को स्ट्रिंग में कैसे बदलना चाहिए? इसके अलावा मैं स्ट्रिंग से लंबे समय तक वापस परिवर्तित करना चाहता हूं। मुझे लगता है कि मैं इसके लिए उपयोग कर सकता हूं long l = Long.parseLong("myStr");?

जवाबों:


393

स्ट्रिंग वर्ग के लिए संदर्भ प्रलेखन देखें :String s = String.valueOf(date);

यदि आपका लॉन्ग अशक्त हो सकता है और आप 4-अक्षर वाला "null"स्ट्रिंग प्राप्त नहीं करना चाहते हैं , तो आप उपयोग कर सकते हैं Objects.toString, जैसे:String s = Objects.toString(date, null);


संपादित करें:

आप इसका उपयोग करके उल्टा करते हैं Long l = Long.valueOf(s);लेकिन इस दिशा में आपको पकड़ने की आवश्यकता हैNumberFormatException


13
ध्यान दें कि Long.valueOf(String)एक रिटर्न Long। यदि आप एक longउपयोग करना चाहते हैं Long.parseLong(String)
डैनियल हेपर

1
इस तरह के बीच क्या अंतर है, या बस इस तरह से सम्‍मिलित करें: ("" + longAttr)?
मार्सेलो असिस

4
@MarceloAssis .. concat 2x धीमा है। यदि प्रदर्शन आपके आवेदन में मायने रखता है।
हरि मेनन

अच्छा है, लेकिन ध्यान दें कि java.util.Objectsकेवल जावा 7. के बाद से उपलब्ध है
गुइल्यूम हस्टा

1
जावा 7 से पहले, आप कॉमन्स लैंग का उपयोग भी कर सकते हैं ObjectUtils.toString(Object,String)जो समकक्ष है। -> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/… , java.lang.String)
Guillaume Husta

207
String strLong = Long.toString(longNumber);

सरल और ठीक काम करता है :-)


Dateसंदर्भ के बाहर सामान्य प्रकार के रूपांतरण के लिए यह परिवर्तित Longकरने के लिए अनुशंसित अभ्यास है String
KomodoDave

3
आदिम प्रकार (लंबे) के साथ ठीक काम करता है, लेकिन आटोबॉक्सिंग के साथ भी एनपीई को ऑब्जेक्ट प्रकार (लंबे) के साथ फेंक सकता है।
गिलियूम हस्टा

93

Long.toString()

निम्नलिखित काम करना चाहिए:

long myLong = 1234567890123L;
String myString = Long.toString(myLong);

1
क्या इसमें कोई अंतर है String.valueOf(myLong)?
सदस्य

2
@membersound वे एक ही हैं। मूल रूप से String.valueOf (long) कॉल्स Long.toString ()
Nero

3
@ नीरो मैं ऐसा नहीं कहूंगा क्योंकि अशक्त होने पर String.valueOf () "null" लौटेगा, जबकि Long.toString () NullPointerException का कारण बनेगा
धीरेश जैन

21

बहुत सरल है, बस एक स्ट्रिंग के लिए लंबे समय तक समेटना।

long date = curDateFld.getDate(); 
String str = ""+date;

10

1।

long date = curDateFld.getDate();
//convert long to string
String str = String.valueOf(date);

//convert string to long
date = Long.valueOf(str);

2।

 //convert long to string just concat long with empty string
 String str = ""+date;
//convert string to long

date = Long.valueOf(str);

3
String logStringVal= date+"";

स्ट्रिंग ऑब्जेक्ट में लंबे समय को परिवर्तित कर सकते हैं, स्ट्रिंग में बदलने के लिए शांत शॉर्टकट ... लेकिन इसका उपयोग String.valueOf(date);उचित है


मुझे लगा String.valueOfकि यह पसंदीदा तरीका है लेकिन मैंने देखा कि बस कॉल करना Long.toStringशायद इतना आसान तरीका है।
gMale

2
String longString = new String(""+long);

या

String longString = new Long(datelong).toString();

यह स्टैक ओवरफ्लो पर एक अच्छा अभ्यास है ताकि यह समझा जाए कि आपके समाधान को काम क्यों करना चाहिए। अधिक जानकारी के लिए उत्तर कैसे पढ़ें ।
फाबियान शुल्त्ज़

1
यह प्रश्न का उत्तर प्रदान नहीं करता है। किसी लेखक से स्पष्टीकरण मांगने या उसका अनुरोध करने के लिए, उनके पोस्ट के नीचे एक टिप्पणी छोड़ दें। - समीक्षा से
कृपाल शाह

2
@ कृपालशाह एक कोड-ओनली उत्तर शायद एक अच्छा नहीं होगा, लेकिन यह अभी भी एक उत्तर है। मैं आपको LQPRQ के बारे में इस पोस्ट की सिफारिश करूंगा: आप इसे गलत कर रहे हैं: कम गुणवत्ता वाले पदों की कतार में पवित्रता के लिए एक दलील
FelixSFD
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.