"Voglio anche parlarti del metodo String.format ."
"È un metodo statico della classe String , ma è molto utile. Consentitemi di adottare un approccio indiretto."
"Se hai bisogno di visualizzare diverse variabili su una riga di testo, come lo faresti?"
"Quale testo?"
"Questo, per esempio:"
String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;
User = {name: Bender, age: 12 years, friend: Fry, weight: 200 kg.}
"Lo farei in questo modo:"
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.}");
"Non molto leggibile, vero?"
"Penso che vada bene."
"Ma se hai nomi di variabili lunghi o devi chiamare metodi per ottenere dati, allora non sarebbe molto leggibile:"
System.out.println("User = {name: " + user.getName() + ", age: " + user.getAge() + " years, friend: " + user.getFriends().get(0) + ", weight: " + user.getExtraInformation().getWeight() + " kg.}");
"Beh, se così fosse, allora, sì, non sarebbe molto leggibile."
"Il fatto è che questo accade sempre nei programmi reali, quindi voglio mostrarti come puoi semplificarti la vita con il metodo String.format."
"Per favore dimmi velocemente, che tipo di metodo magico è questo?"
"Puoi scrivere il codice sopra in questo modo:"
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);
"Il primo parametro del metodo String.format è una stringa di formato che contiene caratteri speciali (%s, %d) ovunque vogliamo inserire valori."
"Dopo la stringa di formato, passiamo i valori che sostituiranno i caratteri %s e %d."
"Se abbiamo bisogno di inserire una stringa, allora scriviamo %s; se abbiamo bisogno di un numero, allora usiamo %d."
"Sarà più facile vederlo in un esempio:"
String s = String.format("a = %d, b = %d, c = %d", 1, 4, 3);
s sarà uguale a «a = 1, b = 4, c = 3»
"Sì, è molto conveniente."
"E puoi anche farlo in questo modo:"
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) );
Warning! a = -1, b = 4, c = 3
"Hmm. Questo è un metodo davvero utile. Grazie, Ellie."
"Se desideri utilizzare altri tipi di dati con il metodo del formato, ecco una tabella che ti aiuterà:"
Simbolo | Tipo |
---|---|
%S | Corda |
%D | numeri interi: int, long, ecc. |
%F | numeri reali: float, double |
%B | booleano |
%C | char |
%T | Data |
%% | Segno di percentuale % |
"In realtà, anche questi identificatori di formato hanno le proprie impostazioni e sottoimpostazioni."
"Ma questo è sufficiente per iniziare. In caso contrario, ecco un link alla documentazione ufficiale:"
GO TO FULL VERSION