String เป็น built-in data type ใน Java เก็บข้อความ เมื่อทำงานกับ String อาจต้องการแปลง case เป็นทั้งหมดพิมพ์ใหญ่ หรือทั้งหมดพิมพ์เล็ก เช่น แอปเปรียบเทียบชื่อ 2 ตัว ต้องแปลง case เพราะการเปรียบเทียบ case-sensitive
นี่คือที่มาของ toUpperCase() และ toLowerCase() เมธอด String แปลงเป็น uppercase และ lowercase ตามลำดับ บทช่วยสอนนี้อธิบายการใช้งาน พร้อมตัวอย่าง และกรณีที่ควรใช้
String ใน Java
String = ลำดับตัวอักษร 1 ตัวขึ้นไป ประกอบตัวอักษร ตัวเลข whitespace สัญลักษณ์ ใน Java ประกาศล้อม double quotes:
String fruit = "Strawberry";
String objects ใน Java เป็น immutable (ไม่เปลี่ยนแปลงได้) มีเมธอดมากมายจัดการเนื้อหา toUpperCase() และ toLowerCase() เป็นตัวอย่าง
String ใน Java เป็น case sensitive เปรียบเทียบ 2 สตริง true ก็ต่อเมื่อเหมือนกันทุกประการ รวม case
สำคัญตอนเปรียบเทียบสตริงที่อาจ case ต่างกัน เช่นเก็บ email เป็น lowercase (security best practice) ตอน sign in ต้องแปลง email ที่กรอกเป็น lowercase ก่อนเปรียบเทียบ
Java toUpperCase()
เมธอด toUpperCase() แปลงสตริงเป็น พิมพ์ใหญ่ทั้งหมด วนทุกตัวอักษร แปลงเป็น uppercase
ไวยากรณ์:
string_name.toUpperCase();
toUpperCase() ต่อท้ายค่าสตริงที่ต้องการแปลง เพราะเป็น string method ต่อท้ายค่า String ใน Java
toUpperCase() ไม่เปลี่ยนสตริงต้นฉบับ สร้าง copy ใหม่เป็น uppercase แทน
ตัวอย่าง: แปลง "Java is great" เป็นตัวใหญ่
String java_is_great = "Java is great"; System.out.println(java_is_great.toUpperCase());
ผลลัพธ์: JAVA IS GREAT
ตัวอย่างจริง: พิมพ์รายชื่อแขกคลับ VIP
แอปพิมพ์รายชื่อแขกคาดว่าจะมา คลับ exclusive ให้พนักงานประตูเช็คชื่อ ต้องการชื่อเป็นตัวใหญ่ทั้งหมด อ่านง่าย
public class PrintAttendees {
public static void main(String[] args) {
String[] attendees = {"Liam Miller", "Michael Curtis", "Andrew Tamera", "Joan Beverly", "Sarah Klein", "Mary Blackwood"};
for (String i : attendees) {
System.out.println(i.toUpperCase());
}
}
}
ผลลัพธ์:
LIAM MILLER MICHAEL CURTIS ANDREW TAMERA JOAN BEVERLY SARAH KLEIN MARY BLACKWOOD
อธิบาย: คลาส PrintAttendees อาร์เรย์ attendees 6 ชื่อ for-each วนทุกชื่อ ใช้ toUpperCase() แปลงแต่ละชื่อ พิมพ์ออกมา
Java toLowerCase()
toLowerCase() ทำตรงข้าม toUpperCase() แปลงสตริงเป็น พิมพ์เล็กทั้งหมด
ไวยากรณ์:
string_name.toLowerCase();
เป็น string method ต่อท้ายค่า String เช่นกัน
ตัวอย่าง: เช็คอีเมลซ้ำก่อนอัปเดตโปรไฟล์
ฟอร์ม "update profile" ก่อนให้เปลี่ยน email ต้องเช็คว่า email ใหม่เหมือนเก่าหรือไม่ เหมือน -> ขอให้เลือกใหม่
Email case-sensitive เก็บทั้งหมด lowercase -> แปลง email ที่ user กรอกเป็น lowercase ก่อนเปรียบเทียบ
public class CompareEmails {
public static void main(String[] args) {
String old_email = "linda.craig@gmail.com";
String new_email = "Linda.craiG@gmail.com".toLowerCase();
if (old_email.equals(new_email)) {
System.out.println("Choose a new email address.");
} else {
System.out.println("Your email address has been changed.");
}
}
}
ผลลัพธ์: Choose a new email address.
อธิบาย: คลาส CompareEmails old_email = "linda.craig@gmail.com" new_email = "Linda.craiG@gmail.com" แปลง .toLowerCase() -> "linda.craig@gmail.com" if เช็ค equals -> true (เหมือนกันหลังแปลง case) พิมพ์ "Choose a new email address."
สรุป
toUpperCase(): แปลงสตริงเป็นพิมพ์ใหญ่ทั้งหมดtoLowerCase(): แปลงสตริงเป็นพิมพ์เล็กทั้งหมด
ทั้ง 2 เมธอดไม่เปลี่ยนสตริงต้นฉบับ สร้าง copy ใหม่ บทช่วยสอนนี้อธิบายการใช้งาน พร้อมตัวอย่าง และกรณีใช้งานจริง ตอนนี้คุณแปลง case ของ String ด้วย toUpperCase() และ toLowerCase() ได้อย่างมืออาชีพแล้ว!