Java String

String เป็น Data type กลุ่ม Object Type ของตัวแปรที่สามารถเก็บค่าเป็นสายอักขระ(ข้อความต่างๆ)

String ใน java เป็น Object Type ดังนั้นคุณจำเป็นต้องใช้คำสั่ง new ในการสร้าง object และกำหนดค่าต่างๆ

ตัวอย่าง 
String name = new String("Jasin");

หมายเหตุ : ค่าของ String จำเป็นต้องเขียนใน Double quote ("......")

แต่ใน java มีทางที่สั้นกว่านั้นในการสร้าง ค่าของ String สามารถทำได้แบบนี้

String name = "Jasin"; // Compiler ตอนมันอ่านมันจะใส่เป็น new String("Jasin") ให้เรา

Escape Characters คือ เป็นอักขระพิเศษใน String เมื่อใส่ไปใน ค่า String มันจะให้ผลลัพธ์พิเศษ มีดังนี้

\\ ผลลัพธ์คือ อักขระ \
\t ผลลัพธ์คือ เว้นช่องไป 1 tab
\r ผลลัพธ์คือ เอาเฉพาะค่าหลังจากนี้
\n ผลลัพธ์คือ ขึ้นบรรทัดใหม่

ตัวอย่าง code



ถ้าคุณใช้ค่าในสาย String ตัวเดียวกันในการประกาศตัวแปร String อื่นๆ JVM จะสร้าง object เดียวใน memory ตัวอย่างเช่น

String name1 = "Jasin";
String name2 = "Jasin";

name1 และ name2 จะถูกอ้างอิงไปที่ Object เดียวกันใน memory หลักการนี้เรียกว่า String pool
อธิบายได้ว่า object ที่ถูกสร้างขึ้นมาแล้วของ String จะเป็นค่าคงที่ ซึ่ง JVM จะเช็คตลอดไม่ว่าจะอยู่คนละ Class ก็ตาม แต่ถ้าอยู่ใน Application เดียวกัน ถ้ามีค่าเหมือนกันเป๊ะๆจะใช้ Object ในการอ้างอิงตัวเดียวกัน

ถ้าคุณไม่อยากให้มันใช้ Object ในการอ้างอิงตัวเดียวกัน ก็มีวิธี ให้ทำแบบนี้

String name1 = new String("Jasin");
String name2 = new String("Jasin");

สิ่งที่สำคัญมาก String เป็น Object Immutable(ไม่สามารถเปลี่ยนรูปได้) กล่าวคือ คุณไม่สามารถเปลี่ยนค่าได้ เมื่อคุณสร้างและกำหนดค่าให้มันแล้ว 
หากเราต้องการนำ String  2  ตัวมารวมกันจะเกิด String ตัวที่ 3 โดยใช้ + (เป็นการแปลงให้เป็นStringพร้อมนำไปเชื่อม)ในการต่อ String เช่น

String one = "Hello";
   String two = " World"; 
String three = one + " " + two;
Output ของ three จะออกเป็น "Hello World"

String three เป็น String ตัวที่ 3 ที่ถูกสร้างมาใหม่โดยไม่ได้เกี่ยวข้องฉันมิตรกับ one และ two  เลย

Method ใน Class String ที่เขาเขียนอังกอรึทึมไว้ให้เราเอาไปใช้งานมีมากมายให้อ่านจาก javadoc เอาต่อ แต่ในที่นี้ ขอยกตัวอย่างให้ดู 5 อัน

1. length() เป็นการเช็คความยาวของ String ว่ามีขนาดกี่ตัวอักษร
2. substring() เป็นการแยกส่วนหนึ่งของ String ให้เป็น Stringย่อยๆ(SubString) ซึ่งมี parameter  2 ตัวให้ใส่ ตัวแรกเป็นการกำหนดตัวเริ่มต้นที่จะตัดโดยจะนำไปใส่ใน  SubString ที่ได้ด้วย(การนับตำแหน่งของ String เริ่มจากตัวแรกเป็น 0 และเพิ่มขึ้นเรื่อยๆ) ส่วนตัวที่ 2 คือตำแหน่งที่จะตัดทิ้งโดยตำแหน่งนี้ไม่ถูกเอาไปรวมกับ SubString ที่ได้
3. concat() เป็นการใช้สำหรับเชื่อมต่อข้อมูลชนิด String
4. toUppercase() เป็นการแปลง String ให้เป็นตัวพิมพ์ใหญ่ทั้งหมด
5. toLowercase() เป็นการแปลง String ให้เป็นตัวพิมพ์เล็กทั้งหมด

ตัวอย่าง code



ไม่มีความคิดเห็น:

แสดงความคิดเห็น