การใช้งาน String Class (ตอนที่ 1) จัดทำโดย : Mr.POP พิมพ์
 Untitled Document สวัสดีครับ บทความตอนนี้เราจะมาว่ากันด้วยเรื่องของการใช้งาน String Class กันนะครับ เรามาดูความหมายของ String กันว่ามันหมายงถึง อะไร String เป็น Class หนึ่งใน Package ของจาวาชื่อ java.lang ทำหน้าที่ในการเก็บข้อมูลที่เป็น “ชุดของตัวอักษร” ซึ่งปกติในจาวาจะมีชนิดข้อมูลที่เป็น Character ให้เราใช้อยู่แล้วแต่เก็บข้อมูลได้เพียง 1 ตัวอักษรเท่านั้น ดังนั้นจึงลำบากในการนำมาใช้กับข้อมูลที่มากกว่า 1 ตัวอักษรหรือที่เรียกว่า “String” ดังนั้น จาวาจึงได้สร้าง Class สำเร็จในรูปมาให้สามารถเรียกใช้ได้ทันที เรียกว่า “String” นะครับ เราลองมาดูรูปแบบการใช้งานกันเลยนะครับ


การสร้าง String

สามารถสร้าง object เพื่อใช้กับ String ได้ 3 แบบ คือ
แบบที่ 1 มีรูปแบบดังนี้

String StringName = ”ข้อความ” ;

โดยที่ StringName คือ ชื่อของตัวแปรประเภท String เช่น

String s1 = "Hello WebThaiDD" ;

ผมขอยกตัวอย่างสั้นๆ ให้ดูนะครับไม่เขียนเป็นโปรแกรม จะเห็นว่าตัวแปร s1 ถูกประกาศเป็นตัวแปร String พร้อมกับเก็บข้อความว่า"Hello WebThaiDD" เข้าไปด้วยนะครับ เมื่อเรานำ s1 มาแสดงผลเราจะได้ข้อความดังกล่าวออกมาครับ

แบบที่ 2 มีรูปแบบดังนี้

String (char chars[ ])

แบบนี้จะเป็นการสร้าง String โดยนำตัวแปรชนิด char ที่เป็นอะเรย์มากำหนดให้กับ String Class เช่น

char s1[ ] = { ‘J’ , ’a’, ’v’, ’a’ } ;
String message = new String(s1) ;

แบบนี้มีการกำหนดตัวแปรอะเรย์ s1 เป็น char แล้วเก็บคำว่า Java ไว้ใน s1 จากนั้นสร้าง object ชื่อ message จาก String Class แล้วใส่ตัวแปร s1 ไว้ ในวงเล็บนะครับก็จะได้ว่าตัวแปร message นั้นเก็บคำว่า Java ไว้เรียบร้อยแล้ว

***ข้อสังเกต ให้ระลึกไว้เสมอนะครับว่า String สร้างมาจาก String Class ดังนั้นตัวแปรที่ผมกล่าวถึงจะหมายถึง object นะครับ เช่น message จากตัวอย่างนี้ก็เป็น object นะครับ ถ้าใครงงให้ย้อนไปบทความต้อนต้นๆ เลยครับไปดูการสร้าง object ครับ

แบบที่ 3 เป็นการเก็บข้อมูลบางส่วนของ Array ไว้ใน String

String (char chars[ ],startindex,numchar)

โดย char chars[ ] = ตัวแปรอะเรย์ที่เป็นชนิด char
startindex = ตัวกำหนดตำแหน่งเริ่มต้นใน Array ที่ต้องการเก็บตำแหน่ง
numchar = ตัวกำหนดจำนวนตัวอักษรที่ต้องมาเก็บไว้โดยนับจากตำแหน่งเริ่มต้น startindex

อธิบายโปรแกรม จากโปรแกรมในบรรทัดที่ 7 จะมีการกำหนดอะเรย์ที่เก็บตัวอักษรไว้ 6 ตัวนะครับ บรรทัดที่ 8 มีการสร้าง object ชื่อ message แล้วส่ง พารามิเตอร์ไป 3 ตัวตามรูปแบบที่กำหนดเข้าไปที่ String( ) (ในส่วนของ String( ) จะเรียกว่า Constructor นะครับ ถ้าจำไม่ผิดผมเคยเกริ่นๆ ไปบ้างแล้วแต่ ผมบอกไว้ว่าให้ติมตามรายละเอียดในบทความช่วงหลังๆ นะครับ ผมขอไม่กล่าวไว้ในที่นี้แล้วกันเอาเป็นว่าให้รับรู้ไว้ก่อนว่ามันเรียกว่า Constructor) แล้วลองสัเกต output ที่ออกมานะครับมันจะเก็บเอาเฉพาะบางส่วนในอะเรย์ ch มาเก็บไว้ใน message ตามพารามิเตอร์ที่เรากำหนดไว้ ให้เราลองเปลี่ยนตัวเลขในวงเล็บดูแล้ว ลองสังเกตเอาเองนะครับว่าเป็นอย่างไร

การเปรียบเทียบ String โดยใช้ equals( )
equals( ) เป็น method ตัวนึงที่อยู่ใน String Class โดยจะทำหน้าที่เปรียบเทียบ String 2 ชุดว่ามีสมาชิกหรือข้อความที่เหมือนกันหรือไม่ มีรูปแบบการใช้งานดังนี้

String1.equals(String2)

อธิบายโปรแกรม จากโปรแกรมมีการกำหนดตัวแปร s1 และ s2 เป็น String โดยมีข้อความเหมือนกัน จากนั้นกำหนดเงื่อนไขของ if ว่าให้นำ String ทั้ง 2 มา เปรียบเทียบกันว่าเหมือนกันหรือไม่ โดยใช้เงื่อนไข s1.equals(s2) ถ้ามีข้อความเหมือนกันจริงก็จะ พิมพ์ข้อความ "s1 equals s2" แต่ถ้าข้อความไม่เหมือนกันก็จะพิมพ์ข้อความ "s1 not equals s2" ออกมาแทน ให้เราทดสอบ โดยการไปเปลี่ยนข้อความในตัวแปร s1 หรือ s2 ก็ได้นะครับ แค่เปลี่ยนตัวอักษรตัวเล็กเป็นตัวใหญ่ก็ถือว่าข้อความไม่เหมือนกัน แล้วครับ

การเชื่อม String (Concatenation)
สามารถนำ String ตั้งแต่ 2 ตัวขึ้นไปมาเชื่อมต่อกันได้ โดยใช้เครื่องหมาย (+) มีรูปแบบดังนี้

String myString = ”ข้อความ1”+”ข้อความ2”+ ”ข้อความ3” ;

หัวข้อนี้เราคงจะได้เคยใช้กันมาบ้างแล้วนะครับจากตัวอย่างในบทความอื่นๆ ก็ไม่มีอะไรมากหรอกครับ เค้าบอกว่าถ้าเราต้องการนำ
ข้อความมาต่อกันหลายข้อความก็ให้ใช้เครื่องหมาย + มาคั่นเพื่อเชื่อมข้อความให้ต่อกันไปครับ

การเชื่อม String โดยใช้ concat( )
method นี้จะใช้ในการเชื่อมต่อข้อความ ใช้งานเหมือนการใช่เครื่องหมาย + เลยครับ มีรูปแบบ ดังนี้

String1.concat(String2)

เช่น

String s1 = "WebThaiDD" ;
String s2 = ".com" ;
String s3 = s1.concat(s2)

output ที่ได้จากตัวแปร s3 คือ "WebThaiDD.com"


การดึงข้อความบางส่วน (substring)
การใช้งานใน method นี้จะเป็นการดึงเอาเฉพาะข้อความบางส่วนใน String มาใช้ครับ มีรูปแบบดังนี้

message.substring(n,m)

message คือ String Object (ตัวแปรชนิด String นั่นแหละครับ เขียนให้ดูหรูไปงั้นแหละ)
substring คือ method
n คือ จุดเริ่มต้นของตำแหน่งตัวอักษรในข้อความ
m คือ จุดสุดท้ายของตำแหน่งตัวอักษรในข้อความ (แต่ที่ตำแหน่งนี้จะไม่เก็บตัวอักษรมานะครับจะเก็บถึงแค่ตัวก่อนหน้าเท่านั้น)



อธิบายโปรแกรม จากโปรแกรมนะครับผมมีข้อความ "WebThaiDD.com" เก็บไว้ในตัวแปร s1 แล้วผมต้องการดึงคำว่า "Thai" ออกมาจากข้อความดังกล่าว ในบรรทัดที่ 8 ผมสร้างตัวแปร s2 ขึ้นมาแล้วนำ method ชื่อ substring มาใช้งาน ให้สังเกตพารา มิเตอร์ในวงเล็บนะครับ (3,7) 3 คือตำแหน่งเริ่มต้นที่ผมจะเก็บ

ตัวอักษร W เป็นตำแหน่งที่ 0 ของข้อความจากนั้นนับไปจนถึงตำแหน่งที่ 3 คือ ตัว T แล้วเริ่มเก็บที่ตำแหน่งนี้จนไปถึงตำแหน่งที่ 6 ครับโดยมันจะไม่เก็บตำแหน่งที่ 7 สุดท้ายมานะครับอย่าสับสนนะครับ ตามที่ระบุในวงเล็บ (3,7) ก็จะได้คำว่า "Thai" มาครับ method นี้มีประโยชน์นะครับ พยามยามใช้งานให้เป็นเพราะเราสามารถดึงข้อความบางส่วนออกมาใช้งานได้

เอาล่ะครับเริ่มเหนื่อยแล้วผม คนอ่านก็คงเหนื่อยไม่แพ้ผมใช่ไหมครับ เพราะคราวนี้มี method มาให้ใช้งานหลายตัวเลยเอาเป็นว่า เดี๋ยวคนอ่านจะจดจำเยอะเกินไปผมก็ขอหยุดไว้แค่นี้ก่อน แต่ยังไม่จบนะครับเพราะยังมี method เหลืออีกครับ สำหรับ String Class แต่ผมจะยกไปต่อภาค 2 ในบทความหน้าครับ ใครอยากดูตอนจบตามไปบทความหน้าเลยครับสำหรับบทความนี้ขอจบเพียงแค่นี้ครับ...

 

คุณอาจสนใจ
การค้นหา และแทนที่คำในเอกสาร Web Page
Mr.GuruZ (39,638 - 05 ก.ย. 49)
สร้า่งไอคอนโฟล์เดอร์
langjuko (32,969 - 02 ก.ย. 51)
การทำวัตถุ โปร่งใส
first (28,573 - 02 เม.ย. 51)
เลขที่ตามหลังของ DVD นั้นแต่ละตัวมีความหมายอย่างไร
เว็บไทยดีดี (14,008 - 08 ก.ย. 50)
การทำ link ไร้เส้นใต้
Tung (95,341 - 23 ธ.ค. 50)
แชร์เอกสารปลอดภัยสุดๆ ใน Vista ด้วย XPS
เว็บไทยดีดี (14,723 - 22 ก.ย. 50)
การทำ Favorites icon
Mr.GuruZ (47,961 - 31 มี.ค. 50)
เทคนิคการสร้างงานเว็บกับ Adobe ImageReady CS (ตอนที่ 1)
สหรัถ แซ่ตั้ง (48,965 - 06 ต.ค. 50)