Skip to Content

สตริงใน Java (Java Strings)

วันนี้เราจะมาเรียนรู้เกี่ยวกับสตริง (Strings) ใน Java กัน สตริงเป็นหนึ่งในประเภทข้อมูลที่ใช้บ่อยที่สุดในการเขียนโปรแกรม

สตริงคืออะไร?

สตริงคือลำดับของตัวอักษร ใน Java สตริงเป็นออบเจ็กต์ของคลาส String ไม่ใช่ประเภทข้อมูลพื้นฐาน (primitive type)

การสร้างสตริง

มีหลายวิธีในการสร้างสตริงใน Java:

// วิธีที่ 1: ใช้เครื่องหมายคำพูด String ชื่อ = "สมชาย"; // วิธีที่ 2: ใช้คอนสตรักเตอร์ของคลาส String String นามสกุล = new String("ใจดี");

การเชื่อมต่อสตริง (String Concatenation)

เราสามารถเชื่อมต่อสตริงได้โดยใช้เครื่องหมาย +:

String ชื่อเต็ม = ชื่อ + " " + นามสกุล; System.out.println(ชื่อเต็ม); // แสดง: สมชาย ใจดี

วิธีการ (Methods) ที่ใช้บ่อยของสตริง

  1. length(): หาความยาวของสตริง
String ข้อความ = "สวัสดี"; System.out.println(ข้อความ.length()); // แสดง: 6
  1. charAt(): หาตัวอักษรที่ตำแหน่งที่ระบุ
System.out.println(ข้อความ.charAt(0)); // แสดง: ส
  1. substring(): ตัดสตริงย่อยจากสตริงหลัก
System.out.println(ข้อความ.substring(0, 3)); // แสดง: สวั
  1. equals(): เปรียบเทียบสตริง
String ข้อความ1 = "สวัสดี"; String ข้อความ2 = "สวัสดี"; System.out.println(ข้อความ1.equals(ข้อความ2)); // แสดง: true
  1. toLowerCase() และ toUpperCase(): แปลงเป็นตัวพิมพ์เล็กหรือตัวพิมพ์ใหญ่
String ข้อความ = "Hello"; System.out.println(ข้อความ.toLowerCase()); // แสดง: hello System.out.println(ข้อความ.toUpperCase()); // แสดง: HELLO
  1. trim(): ตัดช่องว่างหน้าและหลังสตริง
String ข้อความ = " สวัสดี "; System.out.println(ข้อความ.trim()); // แสดง: สวัสดี

การเปรียบเทียบสตริง

ในการเปรียบเทียบสตริง ควรใช้ equals() แทนการใช้ ==:

String str1 = "สวัสดี"; String str2 = "สวัสดี"; String str3 = new String("สวัสดี"); System.out.println(str1.equals(str2)); // true System.out.println(str1.equals(str3)); // true System.out.println(str1 == str2); // true (ไม่ควรใช้วิธีนี้) System.out.println(str1 == str3); // false (ไม่ควรใช้วิธีนี้)

สตริงไม่สามารถเปลี่ยนแปลงได้ (Immutable)

สตริงใน Java เป็น immutable นั่นคือ เมื่อสร้างแล้วไม่สามารถเปลี่ยนแปลงได้ การ “เปลี่ยนแปลง” สตริงจริงๆ แล้วคือการสร้างสตริงใหม่:

String ข้อความ = "สวัสดี"; ข้อความ = ข้อความ + " ชาวโลก"; // สร้างสตริงใหม่ System.out.println(ข้อความ); // แสดง: สวัสดี ชาวโลก

StringBuilder

เมื่อต้องการเปลี่ยนแปลงสตริงบ่อยๆ ควรใช้ StringBuilder เพื่อประสิทธิภาพที่ดีกว่า:

StringBuilder sb = new StringBuilder("สวัสดี"); sb.append(" ชาวโลก"); sb.append("!"); System.out.println(sb.toString()); // แสดง: สวัสดี ชาวโลก!

ตัวอย่างการใช้งานจริง

ลองมาดูตัวอย่างโปรแกรมที่ใช้สตริงในการจัดการชื่อกัน:

public class โปรแกรมจัดการชื่อ { public static void main(String[] args) { String ชื่อเต็ม = " สมชาย ใจดี "; // ตัดช่องว่างและแยกชื่อกับนามสกุล String[] ส่วนของชื่อ = ชื่อเต็ม.trim().split(" "); String ชื่อ = ส่วนของชื่อ[0]; String นามสกุล = ส่วนของชื่อ[1]; // แสดงผล System.out.println("ชื่อ: " + ชื่อ); System.out.println("นามสกุล: " + นามสกุล); System.out.println("อักษรย่อชื่อ: " + ชื่อ.charAt(0) + "." + นามสกุล.charAt(0) + "."); System.out.println("ความยาวชื่อเต็ม: " + (ชื่อ.length() + นามสกุล.length())); // สร้างอีเมล String อีเมล = (ชื่อ.toLowerCase() + "." + นามสกุล.toLowerCase() + "@example.com"); System.out.println("อีเมล: " + อีเมล); } }

สรุป

สตริงเป็นส่วนสำคัญในการเขียนโปรแกรม Java ใช้ในการจัดการข้อความต่างๆ การเข้าใจวิธีการทำงานและการใช้งานสตริงอย่างถูกต้องจะช่วยให้คุณเขียนโปรแกรมได้อย่างมีประสิทธิภาพมากขึ้น

ปรับปรุงล่าสุด