การสร้าง 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 ในบทความหน้าครับ ใครอยากดูตอนจบตามไปบทความหน้าเลยครับสำหรับบทความนี้ขอจบเพียงแค่นี้ครับ...
![]()