String

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับคลาสของ String โดยละเอียด และนอกจากนี้ยังเรียนรู้ถึงวิธีการใช้เมธอดเพื่อจัดการ String

การประกาศ String

String เป็นข้อมูลประเภทออบเจ็ค ในภาษา Java นั้นมีคลาส String เพื่อช่วยในการจัดการกับข้อมูลที่เป็นข้อความที่ต่อเนื่องกัน String นั้นแตกต่างจาก char ซึ่งเก็บข้อมูลได้เพียงตัวเดียว นอกจากนี้ String ยังมีเมธอดสำหรับจัดการข้อมูล มาดูตัวอย่างการประกาศ String

// method 1
String str = "Declaring string in Java.";
// method 2
String str2 = new String("Creating with String constructor.");
// method 3
char[] chs = new char[] {'C', 'h', 'a', 'r', 'a', 'r', 'r', 'a', 'y'};
String str3 = new String(chs);

เราสามารถประกาศตัวแปร String ได้ 3 วิธี วิธีแรกเป็นวิธีปกติที่เราได้ใช้มาก่อนหน้าแล้ว มันสะดวกและใช้งานง่ายที่สุด วิธีที่สองเป็นการประกาศ String ผ่าน Constructor ของคลาส และวิธีสุดท้ายเป็นการประกาศ String ด้วย Char array ผ่าน Constructor เช่นกัน คุณสามารถประกาศโดยวิธีใดก็ได้ ซึ่งได้ผลลัพธ์ไม่แตกต่างกัน

String Concatenation (+)

เราได้พูดเกี่ยวกับการดำเนินการกับ String แล้วในบทของตัวดำเนินการ String Concatenation นั้นเป็นการนำ String มาต่อกัน โดยการใช้เครื่องหมายบวก (+)

String firstName = "Bob";
String lastName = "Henry";

String fullName = firstName + " " + lastName;

ในตัวอย่าง เราได้ทำการต่อ 3 String เข้าด้วยกัน และนำค่าที่ได้จากการต่อใส่ตัวแปรใหม่ fullName ผลลัพธ์ที่ได้คือมันจะมีค่าเป็น "Bob Henry" ที่เกิดจากการเชื่อมต่อกันของ String ทั้งสาม

เมธอดใน String

เพราะว่า String นั้นเป็นคลาส ดังนั้นมันจึงมีเมธอดต่างๆ ที่ให้เราสามารถใช้งานได้ เมธอดก็คือฟังก์ชันที่ใช้ในการจัดการข้อมูล เพื่อให้ได้ผลลัพธ์ออกมาตามหน้าที่ของมัน คุณจะได้เรียนเกี่ยวกับเมธอดในบทต่อไป มาดูตัวอย่างการใช้เมธอดที่สำคัญของ String

public class StringMethod {
public static void main(String[] args) {
String name = "MarcusCode";

System.out.println("Length is " + name.length());
System.out.println("Char at index 6 is " + name.charAt(6));

if (name.contains("Code")) {
System.out.println("'Code' is in '" + name + "'");
} else {
System.out.println("'Code is not in '" + name + "'");
}

System.out.println("Index of 'cus' is at " + name.indexOf("cus"));
name = name.concat(" tutorials");

System.out.println(name);

name = name.replace(" tutorials", "'s Programming");
System.out.println(name);

name = name.toUpperCase();
System.out.println(name);

name = "";

if (name.isEmpty()) {
System.out.println("name is empty.");
}
}
}

ข้างบนเป็นโค้ดของการใช้เมธอดในคลาส String เราได้หาความยาวของมัน ดูตัวอักษรที่ตำแหน่ง index 6 ตรวจสอบว่ามี String ย่อยอยู่ข้างในหรือไม่ และตรวจสอบ index ของ cus ที่อยู่ภายใน String เชื่อมต่อ String ใหม่ tutorials เข้ามา แล้วแทนที่ด้วย Programming หลังจากนั้นแปลงให้เป็นตัวพิมพ์ใหญ่ทั้งหมด และกำหนดให้ String ว่างและตรวจสอบในตอนท้าย

Length is 10
Char at index 6 is C
'Code' is in 'MarcusCode'
Index of 'cus' is at 3
MarcusCode tutorials
MarcusCode's Programming
MARCUSCODE'S PROGRAMMING
name is empty.

และนี่เป็นผลลัพธ์จากการใช้งานเมธอดของ String

อย่างไรก็ตาม ภาษา Java นั้นยังมีเมธอดให้ใช้อีกมากมาย ข้างล่างนี้เป็นตารางเมธอดของ String ในภาษา Java

TypeMethodDescription
charcharAt(int index)Returns the char value at index.
intcompareTo(String anotherString)Compares two strings.
Stringconcat(String str)Concatenates the string to the end.
booleancontains(CharSequence s)Returns true if this string contains the specified sequence.
booleanendsWith(String suffix)Tests if this string ends with suffix.
booleanequals(Object anObject)Compares this string to the specified object.
static Stringformat(String format, Object... args)Returns a formatted string.
byte[]getBytes()Encodes this String into a sequence of bytes.
intindexOf(String str)Returns the index within this string of the first occurrence substring.
booleanisEmpty()Returns true if, and only if, length() is 0.
intlength()Returns the length of this string.
booleanmatches(String regex)Tells whether or not this string matches regular expression.
Stringreplace(CharSequence target, CharSequence replacement)Replaces each substring.
String[]split(String regex)Splits this string around matches.
booleanstartsWith(String prefix)Tests if this string starts with the prefix.
Stringsubstring(int beginIndex, int endIndex)Returns a new string that is a substring.
char[]toCharArray()Converts this string to a new character array.
StringtoLowerCase()Converts all of the characters in this String to lower case.
StringtoString()This object is itself returned.
StringtoUpperCase()Converts all of the characters in this String to upper case.
Stringtrim()Returns a copy of the string.
static StringvalueOf(boolean b)Returns the string representation of the boolean argument.
static StringvalueOf(char c)Returns the string representation of the char argument.
static StringvalueOf(double d)Returns the string representation of the double argument.
static StringvalueOf(float f)Returns the string representation of the float argument.
static StringvalueOf(int i)Returns the string representation of the int argument.
static StringvalueOf(long l)Returns the string representation of the long argument.
static StringvalueOf(Object obj)Returns the string representation of the Object argument.

สำหรับเมธอดของ String ทั้งหมดคุณสามารถดูได้ที่นี่ https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

ในบทนี้ คุณได้รู้จักกับ String และทราบว่ามันเป็นอ็อบเจ็คชนิดหนึ่ง และนอกจากนี้ใช้เมธอดต่างๆ ให้ใช้งานในการจัดการ String บทต่อไปเราจะเรียนรู้เกี่ยวกับเมธอด


บทความเกี่ยวกับ String

String ในภาษา PHP

String คือประเภทข้อมูลประเภทข้อความหรือการนำตัวอักษรหลายๆ ตัวมาต่อกันหรือเรียกว่าอาเรย์ของตัวอักษร โดยความยาวของ String นั้นสามารถเปลี่ยนแปลงได้ตามค่าที่กำหนดให...

String ในภาษา Visual Basic

ในบทนี้ คุณจะได้เรียนรู้เกี่ยวกับ string ในภาษา Visual Basic เพราะว่า string นั้นมีเนื้อหาและรายละเอียดค่อนข้างมากสำหรับการเขียนโปรแกรม ดังนั้นเราจึงแบ่งเนื้อหา...

String formatting ในภาษา PHP

ในภาษา PHP มีฟังก์ชันในการจัดรูปแบบของ String ที่เรียกว่า Format string คือฟังก์ชัน sprintf() ซึ่งเป็นฟังก์ชันสำหรับจัดรูปแบบของ String หรือตัวเลขเพื่อให้แสดงผล...