สตริงใน Java อธิบายโดยคลาส String และเป็นแบบคงที่ เช่น ในบรรทัดที่มีอยู่ คุณไม่สามารถเปลี่ยนอักขระและหมายเลขได้ นอกเหนือจากการสร้างมาตรฐานโดยตัวดำเนินการใหม่แล้ว สตริงยังสามารถสร้างได้โดยตรงจากลิเทอรัลสตริง ในเวลาเดียวกัน เพื่อวัตถุประสงค์ในการเพิ่มประสิทธิภาพ ออบเจ็กต์ที่สร้างขึ้นในลักษณะนี้จะถูกจัดเก็บเพิ่มเติมในพื้นที่แยกต่างหาก - พูลสตริง
String s1 = "d" // строка будет сохранена в пуле // строка не будет сохранена в пуле // будет уничтожена сборщиком мусора String s2 = new String("a");
ข้อดีประการหนึ่งของการแยกสตริงออกเป็นสแตติกและไดนามิกคือ เพิ่มความปลอดภัยโดยการใช้สตริงเป็นอาร์กิวเมนต์ (เช่น การเปิดฐานข้อมูล การเชื่อมต่ออินเทอร์เน็ต กลไกการโหลดคลาส)
การดำเนินการ +
การดำเนินการ + ใช้ได้กับสตริง ทำให้คุณสามารถรวมหลายสตริงเป็นสตริงเดียวได้ หากตัวถูกดำเนินการตัวใดตัวหนึ่งไม่ใช่สตริง มันจะถูกแปลงเป็นสตริงโดยอัตโนมัติ สำหรับอ็อบเจ็กต์ วิธีการ toString ถูกใช้เพื่อจุดประสงค์นี้ แต่ละการดำเนินการภายในใช้วัตถุ StringBuilder หรือ StringBuffer แบบไดนามิก ดังนั้น ในการรวบรวมสตริงจากหลายรายการ จึงยังคงเหมาะสมที่สุดที่จะใช้ StringBuilder/StringBuffer เดียวในคราวเดียวการเลือกสตริงย่อย
มีหมายเหตุเกี่ยวกับวิธีการสตริงย่อย - สตริงที่ส่งคืนใช้อาร์เรย์ไบต์เดียวกันกับสตริงดั้งเดิม ตัวอย่างเช่น คุณดาวน์โหลดบรรทัด A จากไฟล์ขนาด 1MB พวกเขาพบบางสิ่งที่นั่นและแยกมันออกเป็นบรรทัด B ยาว 3 ตัวอักษร ในความเป็นจริง Line B ใช้พื้นที่ 1MB เท่ากันString s ="very .... long string from file"; // совместно использует ту же память что и s String sub1 = s.substring(2,4); // этот an object использует отдельный массив на 4 символа String sub2 = new String(s.substring(2,4));
วิธีการพื้นฐาน
- CompareTo (String anotherString) - การเปรียบเทียบคำศัพท์ของสตริง
- CompareToIgnoreCase (String str) - การเปรียบเทียบพจนานุกรมสตริงที่ไม่คำนึงถึงขนาดตัวพิมพ์
- RegionMatches (boolean IgnCase, int toffset, String other, int ooffset, int len) - ทดสอบเอกลักษณ์ของขอบเขตสตริง คุณสามารถระบุความไวของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ได้
- RegionMatches (int toffset, String other, int ooffset, int len) - ทดสอบเอกลักษณ์ของขอบเขตสตริง
- concat (String str) - ส่งคืนการต่อข้อมูลของสองสตริง
- มี (CharSequence s) - ตรวจสอบว่าลำดับของอักขระที่ระบุรวมอยู่ในสตริงหรือไม่
- endsWith (คำต่อท้ายสตริง) - ตรวจสอบว่าสตริงลงท้ายด้วยส่วนต่อท้ายที่ระบุหรือไม่
- startsWith (คำนำหน้าสตริง) - ตรวจสอบว่าสตริงเริ่มต้นด้วยคำนำหน้าที่ระบุหรือไม่
- startsWith (คำนำหน้าสตริง, int toffset) - ตรวจสอบว่าสตริงที่ตำแหน่งที่ระบุเริ่มต้นด้วยคำนำหน้าที่ระบุหรือไม่
- เท่ากับ (Object anObject) - ตรวจสอบว่าสตริงเหมือนกับวัตถุที่ระบุหรือไม่
- getBytes () - ส่งคืนการแสดงไบต์ของสตริง
- getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin) - ส่งคืนการแสดงอักขระของส่วนของสตริง
- hashCode () - รหัสแฮชของสตริง;
- indexOf (int ch) - ค้นหาการปรากฏครั้งแรกของอักขระในสตริง
- indexOf (int ch, int fromIndex) - ค้นหาการปรากฏครั้งแรกของอักขระในสตริงจากตำแหน่งที่ระบุ
- indexOf (String str) - ค้นหาการเกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุ
- indexOf (String str, int fromIndex) - ค้นหาการเกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุจากตำแหน่งที่ระบุ
- LastIndexOf (int ch) - ค้นหาสัญลักษณ์ที่ปรากฏครั้งล่าสุด
- LastIndexOf (int ch, int fromIndex) - ค้นหาการปรากฏครั้งสุดท้ายของอักขระจากตำแหน่งที่ระบุ
- LastIndexOf (String str) - ค้นหาการเกิดขึ้นครั้งล่าสุดของสตริง
- LastIndexOf (String str, int fromIndex) - ค้นหาการเกิดขึ้นครั้งล่าสุดของสตริงจากตำแหน่งที่ระบุ
- แทนที่ (char oldChar, char newChar) - แทนที่อักขระตัวหนึ่งในสตริงด้วยอักขระอื่น
- แทนที่ (เป้าหมาย CharSequence, การแทนที่ CharSequence) - แทนที่สตริงย่อยหนึ่งรายการด้วยอีกรายการหนึ่ง
- สตริงย่อย (int beginningIndex, int endIndex) - ส่งคืนสตริงย่อยเป็นสตริง
- toLowerCase () - แปลงสตริงเป็นตัวพิมพ์เล็ก
- toLowerCase (โลแคลโลแคล) - แปลงสตริงเป็นตัวพิมพ์เล็กโดยใช้โลแคลที่ระบุ
- toUpperCase() - แปลงสตริงเป็นตัวพิมพ์ใหญ่
- toUpperCase (โลแคลโลแคล) - แปลงสตริงเป็นตัวพิมพ์ใหญ่โดยใช้โลแคลที่ระบุ
- trim() - ตัดอักขระว่างที่ส่วนท้ายของสตริง
- valueOf(a) - วิธีการคงที่สำหรับการแปลงประเภทต่างๆ เป็นสตริง
- ตรงกัน (String regex) - ไม่ว่าสตริงจะตรงกับนิพจน์ทั่วไปที่ระบุหรือไม่
- แทนที่ทั้งหมด (สตริง regex, สตริง rplс) - แทนที่สตริงที่ระบุทั้งหมดที่เกิดขึ้นซึ่งเป็นไปตามนิพจน์ทั่วไป
- แทนที่แรก (สตริง regex, สตริง rplс) - แทนที่การเกิดขึ้นครั้งแรกของสตริงที่ตรงกับนิพจน์ทั่วไปด้วยสตริงที่ระบุ
- แยก (String regex) - แยกสตริงออกเป็นส่วน ๆ ขอบเขตของการแยกคือการเกิดขึ้นของสตริงที่ตรงตามนิพจน์ทั่วไป
- แยก (สตริง regex, ขีดจำกัด int) - คล้ายกับอันก่อนหน้า แต่มีข้อจำกัดในการใช้นิพจน์ทั่วไปกับสตริงกับค่าขีดจำกัด หากจำกัด>0 ขนาดของอาร์เรย์สตริงที่ส่งคืนจะไม่เกินขีดจำกัด หากจำกัด<=0 นิพจน์ทั่วไปจะถูกนำไปใช้กับสตริงโดยไม่จำกัดจำนวนครั้ง
GO TO FULL VERSION