Oke, jadi kita semua harus tahu bahwa Anda bisa memasukkan variabel ke dalam string dengan melakukan:
String string = "A string " + aVariable;
Apakah ada cara untuk melakukannya seperti:
String string = "A string {aVariable}";
Dengan kata lain: Tanpa harus menutup tanda petik dan menambahkan tanda plus. Ini sangat tidak menarik.
String.format()
sudah ada di dalam bahasa.Jawaban:
Anda selalu dapat menggunakan String.format (....). yaitu,
Saya tidak yakin apakah itu cukup menarik untuk Anda, tetapi itu bisa sangat berguna. Sintaksnya sama dengan printf dan java.util.Formatter. Saya sudah sering menggunakannya terutama jika saya ingin menampilkan data numerik tabular.
sumber
format
itu lebih menarik daripada ekspresi rangkaian String sederhana. Yangformat
menjadi miliknya sendiri adalah ketika Anda perlu melakukan padding, format angka, dan sebagainya.1 + "oops"
), terutama jika Anda menggunakan FindBugs (yang mengurai string format dan parameter input). Dan, seperti yang dikatakan penanya, dalam banyak kasus, ini lebih mudah dibaca. Tentu saja, sangat disayangkan bahwaformat
metode ini dibuat statis, itu adalah kesalahan desain yang agak bodoh.format
hubungannya dengan string target? Tentunya Anda tidak menyarankan agar kami diharapkan untuk menulis"A String %s %2d".format(aStringVar, anIntVar)
... bukan?Ini disebut interpolasi string; tidak ada seperti itu di Jawa.
Salah satu pendekatannya adalah dengan menggunakan String.format:
Pendekatan lain adalah dengan menggunakan pustaka template seperti Velocity atau FreeMarker .
sumber
Pertimbangkan juga
java.text.MessageFormat
, yang menggunakan sintaks terkait yang memiliki indeks argumen numerik. Sebagai contoh,hasil
string
mengandung yang berikut ini:Lebih umum, kelas digunakan untuk pemformatan numerik dan temporal. Contoh
JFreeChart
format label dijelaskan di sini ; kelasRCInfo
memformat panel status permainan.sumber
Anda dapat menggunakan format String untuk memasukkan variabel dalam string
saya menggunakan kode ini untuk memasukkan 2 variabel dalam string:
sumber