Bagaimana cara mengkonversi / membuang panjang ke String?


290

Saya baru saja membuat aplikasi sampel BB, yang memungkinkan untuk memilih tanggal.

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

Setelah memilih tanggal, saya perlu mengkonversi nilai panjang itu ke String, sehingga saya dapat dengan mudah menyimpan nilai tanggal di suatu tempat di database. Saya baru mengenal pengembangan Java dan Blackberry.

long date = curDateFld.getDate();

Bagaimana cara saya mengkonversi nilai panjang ini ke String? Saya juga ingin mengkonversi kembali ke long dari String. Saya pikir untuk itu saya bisa menggunakan long l = Long.parseLong("myStr");?

Jawaban:


393

Lihat dokumentasi referensi untuk kelas String :String s = String.valueOf(date);

Jika Long Anda mungkin nol dan Anda tidak ingin mendapatkan "null"string 4 huruf , Anda dapat menggunakan Objects.toString, seperti:String s = Objects.toString(date, null);


EDIT:

Anda membalikkannya menggunakan Long l = Long.valueOf(s);tetapi dalam arah ini Anda perlu menangkapNumberFormatException


13
Perhatikan bahwa Long.valueOf(String)mengembalikan a Long. Jika Anda ingin long, gunakan Long.parseLong(String).
Daniel Hepper

1
Apa perbedaan antara cara ini, atau hanya konser seperti ini: ("+ longAttr)?
Marcelo Assis

4
@ MarsceloAssis .. konser sekitar 2x lebih lambat. Jika kinerja penting dalam aplikasi Anda.
Hari Menon

Bagus, tetapi perhatikan bahwa java.util.Objectsini hanya tersedia sejak Java 7.
Guillaume Husta

1
Sebelum Java 7, Anda juga bisa menggunakan Commons Lang ObjectUtils.toString(Object,String)yang setara. -> commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/… , java.lang.String)
Guillaume Husta

207
String strLong = Long.toString(longNumber);

Sederhana dan berfungsi dengan baik :-)


Untuk jenis konversi umum di luar Datekonteks ini adalah praktek yang direkomendasikan untuk mengkonversi Longke String.
KomodoDave

3
Berfungsi baik dengan tipe primitif (panjang), tetapi dapat membuang NPE dengan tipe Objek (Panjang), bahkan dengan autoboxing.
Guillaume Husta

93

Long.toString()

Berikut ini harus bekerja:

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

1
Apakah ada perbedaan String.valueOf(myLong)?
memberound

2
@membersound mereka sama. Pada dasarnya String.valueOf (panjang) memanggil Long.toString ()
Nero

3
@ Tidak, saya tidak akan memanggil yang sama karena String.valueOf () akan mengembalikan "null" jika null, sedangkan Long.toString () akan menyebabkan NullPointerException
Dhiresh Jain

21

sangat sederhana, hanya menyatukan panjang ke 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+"";

Dapat mengkonversi panjang menjadi objek string, cara pintas keren untuk mengkonversi menjadi string ... tetapi String.valueOf(date);disarankan menggunakan


Saya pikir String.valueOfitu pendekatan yang disukai tetapi saya perhatikan bahwa hanya menelepon Long.toStringjadi mungkin itu cara yang lebih sederhana.
gMale

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

atau

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

Ini praktik yang baik pada Stack Overflow untuk menambahkan penjelasan mengapa solusi Anda harus bekerja. Untuk informasi lebih lanjut baca Cara Menjawab .
Fabian Schultz

1
Ini tidak memberikan jawaban untuk pertanyaan itu. Untuk mengkritik atau meminta klarifikasi dari penulis, tinggalkan komentar di bawah posting mereka. - Dari Ulasan
Krupal Shah

2
@KrupalShah Jawaban hanya untuk kode mungkin bukan jawaban yang bagus, tetapi masih merupakan jawaban. Saya akan merekomendasikan Anda posting ini tentang LQPRQ: Anda salah melakukannya: Permohonan untuk kewarasan dalam antrian Tulisan Kualitas Rendah
FelixSFD
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.