„Искам също да ви разкажа за метода String.format .“
„Това е статичен метод на класа String , но е много полезен. Нека използвам заобиколен подход.“
„Ако трябва да покажете няколко променливи на един ред текст, How бихте го направor?“
„Какъв текст?“
"Това например:"
String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;
User = {name: Bender, age: 12 years, friend: Fry, weight: 200 kg.}
„Бих го направил нещо подобно:“
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.}");
— Не е много четливо, нали?
— Мисля, че е добре.
„Но ако имате дълги имена на променливи or трябва да извикате методи, за да получите данни, тогава няма да е много четливо:“
System.out.println("User = {name: " + user.getName() + ", age: " + user.getAge() + " years, friend: " + user.getFriends().get(0) + ", weight: " + user.getExtraInformation().getWeight() + " kg.}");
— Е, ако беше така, тогава, да, нямаше да се чете много.
„Факт е, че това се случва през цялото време в реални програми, така че искам да ви покажа How можете да опростите живота си с метода String.format.“
"Моля, кажете ми бързо, що за магически метод е това?"
„Можете да напишете codeа по-горе така:“
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);
" Първият параметър на метода String.format е низ за форматиране, който съдържа специални знаци (%s, %d) навсякъде, където искаме да поставим стойности."
„След форматиращия низ предаваме стойностите, които ще заменят символите %s и %d.“
"Ако трябва да вмъкнем низ, тогава пишем %s; ако имаме нужда от число, тогава използваме %d."
„Ще бъде по-лесно да видите това в пример:“
String s = String.format("a = %d, b = %d, c = %d", 1, 4, 3);
s ще бъде равно на «a = 1, b = 4, c = 3»
— Да, това е много удобно.
„И можете да го направите и така:“
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
"Хм. Това е наистина полезен метод. Благодаря, Ели."
„Ако искате да използвате други типове данни с метода на форматиране, ето table, която ще ви помогне:“
Символ | Тип |
---|---|
%с | низ |
%д | цели числа: int, long и др. |
%f | реални числа: float, double |
%b | булево |
%° С | въглен |
%T | Дата |
%% | Знак за процент % |
„Всъщност тези спецификатори на формат също имат свои собствени настройки и поднастройки.“
„Но това е достатъчно, за да започнете. Ако не, ето връзка към официалната documentация:“
GO TO FULL VERSION