String.format

Java Multithreading
Tahap , pelajaran
Tersedia

"Saya juga ingin memberitahu anda tentang kaedah String.format ."

"Ia adalah kaedah statik kelas String , tetapi ia sangat berguna. Biar saya mengambil pendekatan bulatan."

"Jika anda perlu memaparkan beberapa pembolehubah pada satu baris teks, bagaimana anda akan melakukannya?"

"Teks apa?"

"Ini, sebagai contoh:"

Memandangkan pembolehubah berikut:
String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;
Output yang diperlukan:
User = {name: Bender, age: 12 years, friend: Fry, weight: 200 kg.}

"Saya akan melakukannya seperti ini:"

String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;

System.out.println("User = {name: " + name + ", age: " + age + " years, friend: " + friend + ", weight: " + weight + " kg.}");

"Tidak boleh dibaca, bukan?"

"Saya rasa tidak mengapa."

"Tetapi jika anda mempunyai nama pembolehubah yang panjang atau anda perlu memanggil kaedah untuk mendapatkan data, maka ia tidak akan begitu mudah dibaca:"

System.out.println("User = {name: " + user.getName() + ", age: " + user.getAge() + " years, friend: " + user.getFriends().get(0) + ", weight: " + user.getExtraInformation().getWeight() + " kg.}");

"Nah, jika itu berlaku, maka, ya, ia tidak akan begitu mudah dibaca."

"Hakikatnya ini berlaku sepanjang masa dalam program sebenar, jadi saya ingin menunjukkan kepada anda bagaimana anda boleh memudahkan hidup anda dengan kaedah String.format."

"Tolong beritahu saya cepat, apakah kaedah ajaib ini?"

"Anda boleh menulis kod di atas seperti ini:"

String text = String.format("User = {name: %s, age: %d years, friend: %s, weight: %d kg.}",
user.getName(), user.getAge(), user.getFriends().get(0), user.getExtraInformation().getWeight())

System.out.println(text);

" Parameter pertama kaedah String.format ialah rentetan format yang mengandungi aksara khas (%s, %d) di mana-mana sahaja kita mahu meletakkan nilai."

"Selepas rentetan format, kami lulus nilai yang akan menggantikan aksara %s dan %d."

"Jika kita perlu memasukkan rentetan, maka kita menulis %s; jika kita memerlukan nombor, maka kita menggunakan %d."

"Adalah lebih mudah untuk melihat ini dalam contoh:"

Contoh
String s = String.format("a = %d, b = %d, c = %d", 1, 4, 3);
Keputusan:
s akan sama dengan «a = 1, b = 4, c = 3»

"Ya, itu sangat mudah."

"Dan anda juga boleh melakukannya seperti ini:"

Contoh
int a = -1, b = 4, c = 3;
String template;
 if (a < 0)
  template = "Warning! a = %d, b = %d, c = %d";
 else
  template = "a = %d, b = %d, c = %d";

System.out.println(String.format(template, a, b, c) );
Pengeluaran:
Warning! a = -1, b = 4, c = 3

"Hmm. Itu kaedah yang sangat berguna. Terima kasih, Ellie."

"Jika anda ingin menggunakan jenis data lain dengan kaedah format, berikut ialah jadual yang akan membantu:"

Simbol taip
%s Tali
%d integer: int, panjang, dll.
%f nombor nyata: terapung, dua kali ganda
%b boolean
%c char
%t Tarikh
%% Tanda peratus %

"Sebenarnya, penentu format ini juga mempunyai tetapan dan subtetapan mereka sendiri."

"Tetapi ini sudah cukup untuk anda bermula. Jika tidak, berikut ialah pautan ke dokumentasi rasmi:"

Pautan ke bahan tambahan

Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION