Como converter / converter long para String?


290

Acabei de criar um exemplo de aplicativo BB, que permite escolher a data.

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

Depois de escolher a data, preciso converter esse valor longo em String, para poder armazenar facilmente o valor da data em algum lugar do banco de dados. Eu sou novo no desenvolvimento de Java e Blackberry.

long date = curDateFld.getDate();

Como devo converter esse valor longo em String? Também quero converter de volta para long a partir de String. Eu acho que posso usar long l = Long.parseLong("myStr");?

Respostas:


393

Consulte a documentação de referência para a classe String :String s = String.valueOf(date);

Se o seu Long pode ser nulo e você não deseja obter uma "null"sequência de quatro letras , use Objects.toString:String s = Objects.toString(date, null);


EDITAR:

Você o inverte usando, Long l = Long.valueOf(s);mas nessa direção, você precisa capturarNumberFormatException


13
Observe que Long.valueOf(String)retorna a Long. Se você quiser um long, use Long.parseLong(String).
precisa

1
Qual é a diferença entre este caminho, ou apenas concatue assim: ("" + longAttr)?
Marcelo Assis

4
@MarceloAssis .. concat é cerca de 2x mais lento. Se o desempenho importa em seu aplicativo.
Hari Menon

Bom, mas observe que java.util.Objectssó está disponível desde o Java 7. #
Guillaume Husta

1
Antes do Java 7, você também podia usar o Commons Lang, ObjectUtils.toString(Object,String)que é equivalente. -> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/… , java.lang.String)
Guillaume Husta

207
String strLong = Long.toString(longNumber);

Simples e funciona bem :-)


Para a conversão geral fora o tipo de Datecontexto esta é a prática recomendada para converter Longpara String.
KomodoDave 6/09/12

3
Funciona bem com o tipo primitivo (longo), mas pode gerar NPE com o tipo de objeto (longo), mesmo com a caixa automática.
Guillaume Husta

93

Long.toString()

O seguinte deve funcionar:

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

1
Existe alguma diferença String.valueOf(myLong)?
membersound

2
@membersound eles são os mesmos. Basicamente, String.valueOf (long) chama Long.toString ()
Nero

3
@Nero Eu não chamaria o mesmo, porque String.valueOf () retornará "null" em caso de null, enquanto Long.toString () fará com que NullPointerException
Dhiresh Jain

21

muito simples, basta concatenar o comprimento para uma 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+"";

Pode converter o objeto longo em string, atalho legal para converter em string ... mas o uso de String.valueOf(date);é aconselhável


Eu pensei que String.valueOfera a abordagem preferida, mas notei que apenas chama, Long.toStringentão talvez essa seja a maneira mais simples.
precisa

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

ou

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

É uma boa prática no Stack Overflow adicionar uma explicação sobre por que sua solução deve funcionar. Para mais informações, leia Como responder .
Fabian Schultz

1
Isso não fornece uma resposta para a pergunta. Para criticar ou solicitar esclarecimentos a um autor, deixe um comentário abaixo da postagem. - Da avaliação
Krupal Shah

2
@KrupalShah Uma resposta apenas de código pode não ser boa, mas ainda é uma resposta. Eu recomendo que você este post sobre o LQPRQ: Você está fazendo errado: Um apelo à sanidade na fila de baixa posts de qualidade
FelixSFD
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.