¿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");?

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


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 :-)


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);

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;

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

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


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();

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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.