"ฉันต้องการบอกคุณเกี่ยวกับ เมธอด String.format "

"มันเป็นเมธอดแบบสแตติกของ คลาส Stringแต่มันมีประโยชน์มาก ขอผมใช้แนวทางแบบวงเวียน"

"ถ้าคุณต้องการแสดงตัวแปรหลายตัวในข้อความบรรทัดเดียว คุณจะทำอย่างไร"

“ข้อความอะไร?”

"ตัวอย่างนี้:"

กำหนดตัวแปรต่อไปนี้:
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.}");

“อ่านไม่ค่อยออกใช่ไหม”

"ฉันคิดว่าไม่เป็นไร"

"แต่ถ้าคุณมีชื่อตัวแปรยาว ๆ หรือคุณต้องการเรียกใช้เมธอดเพื่อรับข้อมูล ก็จะไม่สามารถอ่านได้มากนัก:"

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

“ถ้าอย่างนั้นก็ใช่ มันจะอ่านไม่ออก”

"ความจริงก็คือสิ่งนี้เกิดขึ้นตลอดเวลาในโปรแกรมจริง ดังนั้นฉันจึงต้องการแสดงให้คุณเห็นว่าคุณสามารถทำให้ชีวิตของคุณง่ายขึ้นด้วยเมธอด String.format ได้อย่างไร"

“โปรดบอกข้าเร็ว ๆ ว่านี่คือวิธีเวทย์มนตร์ประเภทใด”

"คุณสามารถเขียนโค้ดด้านบนได้ดังนี้:"

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

"อืม นั่นเป็นวิธีที่มีประโยชน์จริงๆ ขอบคุณ เอลลี่"

"ถ้าคุณต้องการใช้ชนิดข้อมูลอื่นด้วยวิธีการจัดรูปแบบ นี่คือตารางที่จะช่วย:"

เครื่องหมาย พิมพ์
%s สตริง
%d จำนวนเต็ม: int, ยาว ฯลฯ
%ฉ จำนวนจริง: ลอย, สองเท่า
%b บูลีน
%ค ถ่าน
%t วันที่
%% เครื่องหมายเปอร์เซ็นต์ %

"อันที่จริง ตัวระบุรูปแบบเหล่านี้มีการตั้งค่าและการตั้งค่าย่อยของตัวเองด้วย"

"แต่นี่เพียงพอที่จะทำให้คุณเริ่มต้นได้ ถ้าไม่ นี่คือลิงก์ไปยังเอกสารอย่างเป็นทางการ:"

เชื่อมโยงไปยังเนื้อหาเพิ่มเติม