¿Cómo convertir / lanzar mucho a String?

290

Acabo de crear una aplicación BB de muestra, que puede permitir elegir la fecha.

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

Después de elegir la fecha, necesito convertir ese valor largo en String, para poder almacenar fácilmente el valor de la fecha en algún lugar de la base de datos. Soy nuevo en el desarrollo de Java y Blackberry.

long date = curDateFld.getDate();

¿Cómo debo convertir este valor largo a String? También quiero convertir de nuevo a largo desde String. Creo que para eso puedo usar long l = Long.parseLong("myStr");?

usuario225714
fuente

Respuestas:

393

Consulte la documentación de referencia para la clase String :String s = String.valueOf(date);

Si su Long puede ser nulo y no desea obtener una "null"cadena de 4 letras , puede usar Objects.toString, como:String s = Objects.toString(date, null);


EDITAR:

Lo inviertes usando Long l = Long.valueOf(s);pero en esta dirección necesitas atraparNumberFormatException

Gregory Pakosz
fuente
13
Tenga en cuenta que Long.valueOf(String)devuelve a Long. Si quieres un long, úsalo Long.parseLong(String).
Daniel Hepper
1
¿Cuál es la diferencia entre esta forma, o simplemente concat así: ("" + longAttr)?
Marcelo Assis
44
@MarceloAssis .. concat es aproximadamente 2 veces más lento. Si el rendimiento importa en su aplicación.
Hari Menon
Agradable, pero tenga en cuenta que java.util.Objectssolo está disponible desde Java 7.
Guillaume Husta
1
Antes de Java 7, también podría usar Commons Lang's, ObjectUtils.toString(Object,String)que es equivalente. -> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/… , java.lang.String)
Guillaume Husta
207
String strLong = Long.toString(longNumber);

Simple y funciona bien :-)

Fisu
fuente
Para la conversión de tipo general fuera del Datecontexto, esto es la práctica recomendada para convertir Longa String.
KomodoDave
3
Funciona bien con el tipo primitivo (largo), pero puede arrojar NPE con el tipo de objeto (largo), incluso con autoboxing.
Guillaume Husta
93

Long.toString()

Lo siguiente debería funcionar:

long myLong = 1234567890123L;
String myString = Long.toString(myLong);
CONvid19
fuente
1
¿Hay alguna diferencia para String.valueOf(myLong)?
membersound
2
@membersound son lo mismo. Básicamente String.valueOf (long) llama a Long.toString ()
Nero
3
@Nero No llamaría igual porque String.valueOf () devolverá "nulo" en caso de nulo, mientras que Long.toString () causará NullPointerException
Dhiresh Jain el
21

muy simple, solo concatena el largo a una cadena.

long date = curDateFld.getDate(); 
String str = ""+date;
MR.M
fuente
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);
iKushal
fuente
3
String logStringVal= date+"";

Puede convertir el objeto largo en cadena, acceso directo genial para convertir en cadena ... pero String.valueOf(date);se recomienda el uso de

MBR
fuente
Pensé que String.valueOfera el enfoque preferido, pero noté que solo llama, Long.toStringasí que tal vez esa sea la forma más simple.
gMale
2
String longString = new String(""+long);

o

String longString = new Long(datelong).toString();
Nathan Meyer
fuente
Es una buena práctica en Stack Overflow agregar una explicación de por qué su solución debería funcionar. Para obtener más información, lea Cómo responder .
Fabian Schultz
1
Esto no proporciona una respuesta a la pregunta. Para criticar o solicitar una aclaración de un autor, deje un comentario debajo de su publicación. - De la opinión
Krupal Shah
2
@KrupalShah Una respuesta de solo código puede no ser buena, pero sigue siendo una respuesta. Te recomendaría esta publicación sobre el LQPRQ: Lo estás haciendo mal: una petición de cordura en la cola de
publicaciones de