สตริงใช้เพื่อเก็บลำดับของอักขระใน Java ซึ่งถือเป็นวัตถุ คลาสสตริงของแพ็คเกจ java.lang แสดงถึงสตริง
คุณสามารถสร้างสตริงได้โดยใช้คีย์เวิร์ดใหม่ (เช่นเดียวกับออบเจ็กต์อื่นๆ) หรือโดยการกำหนดค่าให้กับตัวอักษร (เช่นประเภทข้อมูลพื้นฐานอื่นๆ)
String stringObject = new String("Hello how are you"); String stringLiteral = "Welcome to Tutorialspoint";
เนื่องจากสตริงเก็บอาร์เรย์ของอักขระ เช่นเดียวกับอาร์เรย์ ตำแหน่งของอักขระแต่ละตัวจึงแสดงด้วยดัชนี (เริ่มจาก 0) ตัวอย่างเช่น ถ้าเราสร้างสตริงเป็น −
String str = "Hello";
อักขระในนั้นอยู่ในตำแหน่ง −
หากคุณพยายามเข้าถึงอักขระของสตริงที่ดัชนีซึ่งมากกว่าความยาวของ StringIndexOutOfBoundsException ถูกโยนทิ้ง
ตัวอย่าง
สตริง class ใน Java มีวิธีการต่างๆ ในการจัดการ Strings คุณสามารถค้นหาอักขระที่ดัชนีเฉพาะได้โดยใช้ charAt() วิธีการของคลาสนี้
เมธอดนี้ยอมรับค่าจำนวนเต็มที่ระบุดัชนีของสตริงและส่งคืนอักขระในสตริงที่ดัชนีที่ระบุ
ในโปรแกรม Java ต่อไปนี้ เรากำลังสร้างสตริงที่มีความยาว 17 และพยายามพิมพ์องค์ประกอบที่ดัชนี 40
public class Test { public static void main(String[] args) { String str = "Hello how are you"; System.out.println("Length of the String: "+str.length()); for(int i=0; i<str.length(); i++) { System.out.println(str.charAt(i)); } //Accessing element at greater than the length of the String System.out.println(str.charAt(40)); } }
ผลลัพธ์
ข้อยกเว้นรันไทม์ -
เนื่องจากเรากำลังเข้าถึงองค์ประกอบที่ดัชนีที่มากกว่าความยาวของ StringIndexOutOfBoundsException ที่ถูกโยนทิ้ง
Length of the String: 17 H e l l o h o w a r e y o u Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 40 at java.base/java.lang.StringLatin1.charAt(Unknown Source) at java.base/java.lang.String.charAt(Unknown Source) at Test.main(Test.java:9)