Wie konvertiere / verwandle ich lange in String?


290

Ich habe gerade eine Beispiel-BB-App erstellt, mit der Sie das Datum auswählen können.

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

Nachdem ich das Datum ausgewählt habe, muss ich diesen langen Wert in String konvertieren, damit ich den Datumswert einfach irgendwo in der Datenbank speichern kann. Ich bin neu in der Java- und Blackberry-Entwicklung.

long date = curDateFld.getDate();

Wie soll ich diesen langen Wert in String konvertieren? Außerdem möchte ich von String zurück zu long konvertieren. Ich denke dafür kann ich verwenden long l = Long.parseLong("myStr");?

Antworten:


393

Siehe die Referenzdokumentation für die String-Klasse :String s = String.valueOf(date);

Wenn Ihr Long möglicherweise null ist und Sie keine 4-Buchstaben- "null"Zeichenfolge erhalten möchten , können Sie Folgendes verwenden Objects.toString:String s = Objects.toString(date, null);


BEARBEITEN:

Sie kehren es mit um, Long l = Long.valueOf(s);aber in dieser Richtung müssen Sie fangenNumberFormatException


13
Beachten Sie, dass Long.valueOf(String)a zurückgegeben wird Long. Wenn Sie eine möchten long, verwenden Sie Long.parseLong(String).
Daniel Hepper

1
Was ist der Unterschied zwischen diesem Weg oder einfach so: ("" + longAttr)?
Marcelo Assis

4
@MarceloAssis .. concat ist ca. 2x langsamer. Wenn die Leistung in Ihrer Anwendung wichtig ist.
Hari Menon

Schön, aber beachten Sie, dass java.util.Objectsnur seit Java 7 verfügbar ist.
Guillaume Husta

1
Vor Java 7 konnten Sie auch Commons Langs verwenden, ObjectUtils.toString(Object,String)was gleichwertig ist. -> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/… , java.lang.String)
Guillaume Husta

207
String strLong = Long.toString(longNumber);

Einfach und funktioniert gut :-)


Für allgemeine Typumwandlung außerhalb des DateKontextes ist dies die empfohlene Praxis umzusetzen Longzu String.
KomodoDave

3
Funktioniert gut mit primitivem Typ (lang), kann aber auch mit Autoboxing NPE mit Objekttyp (lang) auslösen.
Guillaume Husta

93

Long.toString()

Folgendes sollte funktionieren:

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

1
Gibt es einen Unterschied zu String.valueOf(myLong)?
Membersound

2
@membersound sie sind die gleichen. Grundsätzlich ruft String.valueOf (long) Long.toString () auf
Nero

3
@Nero Ich würde nicht dasselbe aufrufen, da String.valueOf () im Fall von null "null" zurückgibt, während Long.toString () NullPointerException
Dhiresh Jain verursacht

21

sehr einfach, verketten Sie einfach das lange zu einem String.

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+"";

Kann das Long-in-String-Objekt konvertieren, coole Verknüpfung zum Konvertieren in String ... aber die Verwendung von String.valueOf(date);ist ratsam


Ich dachte, dies wäre String.valueOfder bevorzugte Ansatz, aber ich bemerkte, dass nur Anrufe Long.toStringgetätigt werden. Vielleicht ist das der einfachere Weg.
gMale

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

oder

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

Bei Stack Overflow empfiehlt es sich, eine Erklärung hinzuzufügen, warum Ihre Lösung funktionieren sollte. Weitere Informationen finden Sie unter Beantworten .
Fabian Schultz

1
Dies gibt keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klarstellung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. - Aus der Rezension
Krupal Shah

2
@KrupalShah Eine Nur-Code-Antwort ist möglicherweise nicht gut, aber dennoch eine Antwort. Ich würde Ihnen diesen Beitrag über das LQPRQ empfehlen: Sie machen es falsch: Ein Plädoyer für Vernunft in der Warteschlange für Beiträge von geringer Qualität
FelixSFD
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.