"Gusto ko ring sabihin sa iyo ang tungkol sa String.format method."

"Ito ay isang static na paraan ng String class, ngunit ito ay lubhang kapaki-pakinabang. Hayaan akong kumuha ng roundabout na diskarte."

"Kung kailangan mong magpakita ng ilang variable sa isang linya ng text, paano mo ito gagawin?"

"Anong text?"

"Ito, halimbawa:"

Dahil sa mga sumusunod na variable:
String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;
Kinakailangang output:
User = {name: Bender, age: 12 years, friend: Fry, weight: 200 kg.}

"Gagawin ko ito ng ganito:"

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.}");

"Hindi masyadong nababasa, di ba?"

"Sa tingin ko okay lang."

"Ngunit kung mayroon kang mahahabang variable na mga pangalan o kailangan mong tumawag ng mga pamamaraan upang makakuha ng data, kung gayon hindi ito masyadong nababasa:"

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

"Well, kung ganoon ang kaso, kung gayon, oo, hindi ito masyadong nababasa."

"Ang katotohanan ay nangyayari ito sa lahat ng oras sa mga totoong programa, kaya gusto kong ipakita sa iyo kung paano mo mapapasimple ang iyong buhay gamit ang String.format method."

"Pakisabi sa akin mabilis, anong uri ng mahiwagang pamamaraan ito?"

"Maaari mong isulat ang code sa itaas tulad nito:"

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);

"Ang unang parameter ng paraan ng String.format ay isang format na string na naglalaman ng mga espesyal na character (%s, %d) saanman namin gustong maglagay ng mga halaga."

"Pagkatapos ng string ng format, ipinapasa namin ang mga halaga na papalit sa %s at %d na mga character."

"Kung kailangan nating magpasok ng isang string, pagkatapos ay isusulat namin ang %s; kung kailangan namin ng isang numero, gagamitin namin ang %d."

"Magiging mas madaling makita ito sa isang halimbawa:"

Halimbawa
String s = String.format("a = %d, b = %d, c = %d", 1, 4, 3);
Resulta:
s ay magiging katumbas ng «a = 1, b = 4, c = 3»

"Oo, napaka-convenient niyan."

"At maaari mo ring gawin ito tulad nito:"

Halimbawa
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) );
Output:
Warning! a = -1, b = 4, c = 3

"Hmm. Talagang kapaki-pakinabang na paraan iyon. Salamat, Ellie."

"Kung gusto mong gumamit ng iba pang mga uri ng data gamit ang paraan ng pag-format, narito ang isang talahanayan na makakatulong:"

Simbolo Uri
%s String
%d integer: int, mahaba, atbp.
%f tunay na mga numero: lumutang, doble
%b boolean
%c char
%t Petsa
%% Percent sign %

"Sa totoo lang, ang mga format specifier na ito ay mayroon ding sariling mga setting at subsetting."

"Ngunit ito ay sapat na upang makapagsimula ka. Kung hindi, narito ang isang link sa opisyal na dokumentasyon:"

Link sa karagdagang materyal