Saya punya char
dan saya butuh String
. Bagaimana cara saya mengkonversi dari satu ke yang lain?
java
string
char
type-conversion
Landon Kuhn
sumber
sumber
Jawaban:
Anda bisa menggunakannya
Character.toString(char)
. Perhatikan bahwa metode ini hanya mengembalikan panggilan keString.valueOf(char)
, yang juga berfungsi.Seperti yang telah dicatat oleh orang lain, penggabungan string juga berfungsi sebagai jalan pintas:
Tetapi ini mengkompilasi ke:
yang kurang efisien karena
StringBuilder
didukung olehchar[]
(over-dialokasikan olehStringBuilder()
ke16
), hanya untuk array yang akan membela diri disalin oleh yang dihasilkanString
.String.valueOf(char)
"dapatkan di pintu belakang" dengan membungkuschar
dalam array elemen tunggal dan meneruskannya ke konstruktor pribadi paketString(char[], boolean)
, yang menghindari salinan array.sumber
new StringBuilder("").append('s').toString();
Pertanyaan yang bagus Saya punya
limametode berikut 6 untuk melakukannya.String.valueOf(char[] value)
memanggilnew String(char[] value)
, yang pada gilirannya menetapkanvalue
array char.Di sisi lain
String.valueOf(char value)
memanggil konstruktor pribadi paket berikut .Kode sumber dari
String.java
dalam kode sumber Java 8sumber
Di bawah ini adalah berbagai cara untuk mengonversi ke char c ke String s (dalam urutan penurunan kecepatan dan efisiensi)
sumber
Gunakan
Character.toString()
metode seperti ini:sumber
Gunakan salah satu dari yang berikut:
sumber
Seperti yang dikatakan @WarFox - ada 6 metode untuk mengkonversi char ke string. Namun, yang tercepat akan melalui gabungan, meskipun jawaban di atas menyatakan itu
String.valueOf
. Inilah patokan yang membuktikan bahwa:Dan hasil:
Seperti yang Anda lihat, yang tercepat adalah
c + ""
atau"" + c
;Perbedaan kinerja ini disebabkan oleh
-XX:+OptimizeStringConcat
optimasi. Anda dapat membacanya di sini .sumber
Coba ini:
Character.toString(aChar)
atau ini saja:aChar + ""
sumber
Kami memiliki berbagai cara untuk mengonversi a
char
menjadiString
. Salah satu caranya adalah dengan menggunakan metode statistoString()
diCharacter
kelas:Sebenarnya
toString
metode ini secara internal menggunakanvalueOf
metode dariString
kelas yang menggunakan array char:Jadi cara kedua adalah menggunakan ini secara langsung:
valueOf
Metode ini diString
kelas menggunakan array char:Jadi cara ketiga adalah menggunakan array anonim untuk membungkus satu karakter dan kemudian meneruskannya ke
String
konstruktor:Cara keempat adalah menggunakan penggabungan:
Ini sebenarnya akan menggunakan
append
metode dariStringBuilder
kelas yang sebenarnya lebih disukai ketika kita melakukan penggabungan dalam satu lingkaran.sumber
Berikut adalah beberapa metode, tanpa urutan tertentu:
sumber
Saya mengubah Char Array ke String
sumber
Saya sudah mencoba saran tetapi akhirnya menerapkannya sebagai berikut
sumber