„Chcę też opowiedzieć o metodzie String.format ”.
„Jest to statyczna metoda klasy String , ale jest bardzo użyteczna. Pozwólcie, że przyjmę podejście okrężne”.
„Jeśli potrzebujesz wyświetlić kilka zmiennych w jednym wierszu tekstu, jak byś to zrobił?”
„Jaki tekst?”
„To na przykład:”
String name = "Bender";
int age = 12;
String friend = "Fry";
int weight = 200;
User = {name: Bender, age: 12 years, friend: Fry, weight: 200 kg.}
"Zrobiłbym to mniej więcej tak:"
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.}");
— Niezbyt czytelne, prawda?
"Myślę, że jest w porządku."
„Ale jeśli masz długie nazwy zmiennych lub musisz wywoływać metody w celu uzyskania danych, nie byłoby to zbyt czytelne:”
System.out.println("User = {name: " + user.getName() + ", age: " + user.getAge() + " years, friend: " + user.getFriends().get(0) + ", weight: " + user.getExtraInformation().getWeight() + " kg.}");
„Cóż, gdyby tak było, to tak, nie byłoby to zbyt czytelne”.
„Faktem jest, że w prawdziwych programach dzieje się to cały czas, więc chcę ci pokazać, jak możesz uprościć swoje życie dzięki metodzie String.format”.
„Proszę, powiedz mi szybko, co to za magiczna metoda?”
„Możesz napisać powyższy kod w ten sposób:”
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);
„ Pierwszy parametr metody String.format to łańcuch formatu zawierający znaki specjalne (%s, %d) w miejscach, w których chcemy umieścić wartości.”
„Po ciągu formatującym przekazujemy wartości, które zastąpią znaki %si %d”.
„Jeśli musimy wstawić ciąg, piszemy %s; jeśli potrzebujemy liczby, używamy %d”.
„Łatwiej będzie zobaczyć to na przykładzie:”
String s = String.format("a = %d, b = %d, c = %d", 1, 4, 3);
s będzie równe «a = 1, b = 4, c = 3»
– Tak, to bardzo wygodne.
"I możesz też zrobić to tak:"
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. To naprawdę przydatna metoda. Dzięki, Ellie”.
„Jeśli chcesz używać innych typów danych z metodą formatowania, oto tabela, która pomoże:”
Symbol | Typ |
---|---|
%S | Strunowy |
%D | liczby całkowite: int, long itp. |
%F | liczby rzeczywiste: float, double |
%B | logiczna |
%C | zwęglać |
%T | Data |
%% | Znak procentu % |
„W rzeczywistości te specyfikatory formatu mają również własne ustawienia i ustawienia podrzędne”.
„Ale to wystarczy, aby zacząć. Jeśli nie, oto link do oficjalnej dokumentacji:”
GO TO FULL VERSION