ใน Java สามารถแปลง String เป็น Character Array ได้ 2 วิธีหลัก ได้แก่ การคัดลอกตัวอักษรทีละตัว หรือใช้เมธอด toCharArray() ในตัว
วิธีที่ 1: คัดลอกตัวอักษรทีละตัว (Manual Copy)
- รับ String ที่ต้องการแปลง
- สร้าง Character Array ว่างขนาดเท่าความยาว String
- ใช้เมธอด
charAt()วนลูปคัดลอกแต่ละตัวอักษรเข้า Array
ตัวอย่างโค้ด
import java.util.Arrays;
import java.util.Scanner;
public class StringToCharArray {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a String value: ");
String str = sc.next();
// สร้าง array ว่างขนาดเท่าความยาว String
char[] chArray = new char[str.length()];
// คัดลอกตัวอักษรทีละตัว
for (int i = 0; i < str.length(); i++) {
chArray[i] = str.charAt(i);
}
System.out.println("Contents of the character array: ");
System.out.println(Arrays.toString(chArray));
}
}
ผลลัพธ์
Enter a String value: Tutorialspoint
Contents of the character array: [T, u, t, o, r, i, a, l, s, p, o, i, n, t]
วิธีที่ 2: ใช้เมธอด toCharArray() (Recommended)
เมธอด toCharArray() ของคลาส String จะแปลง String ปัจจุบันเป็น Character Array และคืนค่าทันที ไม่ต้องสร้าง Array ว่างไว้ก่อน
ตัวอย่างโค้ด
import java.util.Arrays;
import java.util.Scanner;
public class ToCharArrayExample {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a String value: ");
String str = sc.next();
// แปลงโดยตรงด้วย toCharArray()
char[] chArray = str.toCharArray();
System.out.println("Contents of the character array: ");
System.out.println(Arrays.toString(chArray));
}
}
ผลลัพธ์
Enter a String value: Tutorialspoint
Contents of the character array: [T, u, t, o, r, i, a, l, s, p, o, i, n, t]
สรุป: วิธีที่ 2 (toCharArray()) เรียบง่าย กระชับ และมีประสิทธิภาพมากกว่า ควรใช้วิธีนี้เป็นหลัก