1. โครงสร้างของStringชั้นเรียน
วันนี้เราจะพูดถึงStringชั้นเรียน หลังจาก ints คลาส String เป็นคลาสที่ได้รับความนิยมมากที่สุดใน Java มันถูกใช้ทุกที่อย่างแน่นอน มีวิธีการที่เป็นประโยชน์มากมายที่คุณควรรู้
คลาสStringเป็นคลาสเดียวนอกเหนือจากประเภทดั้งเดิมที่สามารถใช้ตัวอักษรในswitchคำสั่งได้ คอมไพเลอร์จัดการการเพิ่มสตริงและวัตถุสตริงด้วยวิธีพิเศษ Stringวัตถุมีเรื่องราวในหน่วยความจำด้วยวิธีพิเศษ โดยพื้นฐานแล้วStringคลาสนี้เป็นคลาสที่พิเศษมาก
นอกจากนี้Stringคลาสยังมีคลาสตัวช่วยมากมายที่มีจุดประสงค์เพื่อลดความซับซ้อนในการทำงานกับสตริงใน Java เมื่อคุณเรียนรู้ทั้งหมดนี้ หลายสิ่งหลายอย่างจะง่ายขึ้นมากสำหรับคุณที่จะทำ เราจะเริ่มจากแก่นแท้ของระบบนิเวศนี้ นั่นคือองค์กรของStringชั้นเรียน
อาร์เรย์ของอักขระ
โครงสร้างของStringคลาสนั้นง่ายมาก: ข้างในเป็นอาร์เรย์อักขระ (char array) ที่เก็บอักขระทั้งหมดของสตริง ตัวอย่างเช่น นี่คือวิธีจัดเก็บคำว่า 'สวัสดี':
จริงๆ แล้ว มันไม่ถูกต้องเสียทีเดียว เนื่องจากStringคลาสมีความสำคัญมาก จึงใช้การปรับแต่งจำนวนมาก และข้อมูลจึงถูกจัดเก็บไว้ภายในไม่ใช่เป็นอาร์เรย์อักขระ แต่เป็นอาร์เรย์แบบไบต์
2. วิธีการของStringชั้นเรียน
คลาส นี้Stringมีเมธอดมากมาย: มีคอนสตรัคเตอร์ 18 ตัวเท่านั้น! ด้านล่างเราจะพูดถึงเฉพาะพื้นฐานที่สุดเท่านั้น:
| วิธีการ | คำอธิบาย |
|---|---|
|
ส่งกลับจำนวนอักขระในสตริง |
|
ตรวจสอบว่าสตริงเป็นสตริงว่างหรือไม่ |
|
ตรวจสอบว่าสตริงมีเฉพาะอักขระช่องว่าง: ช่องว่าง แท็บ ขึ้นบรรทัดใหม่ ฯลฯ |
|
ส่งกลับอักขระที่ตำแหน่งดัชนีในสตริง |
|
ส่งกลับอาร์เรย์ของอักขระ (สำเนา) ที่ประกอบขึ้นเป็นสตริง |
|
แปลงสตริงเป็นชุดของไบต์และส่งคืนอาร์เรย์ของไบต์ |
|
แยกสตริงออกเป็นหลายสตริงย่อย |
|
รวมสตริงย่อยหลายรายการเข้าด้วยกัน |
|
วางสตริงลงในstring pool. |
คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับคอนสตรัคเตอร์ ได้ในบทความJava Constructors
มาเขียนโปรแกรมที่แปลงเส้นทางไฟล์จากสไตล์ Unix เป็นสไตล์ Windows Unix ใช้/อักขระเพื่อแยกโฟลเดอร์ในขณะที่ Windows ใช้\อักขระ
โซลูชันที่ 1:ใช้อาร์เรย์ถ่าน
| รหัส | หมายเหตุ |
|---|---|
|
สร้างออบเจกต์สแกนเนอร์ อ่านบรรทัดจากคอนโซล แปลงสตริงเป็นอาร์เรย์อักขระ วน ซ้ำอักขระ ถ้าอักขระคือ /ให้แทนที่ \ด้วย อย่าลืมเกี่ยวกับการหลบหนี สร้างสตริงใหม่ตามอาร์เรย์อักขระ แสดงสตริง |
โซลูชันที่ 2: — ใช้split()และjoin()วิธีการ
| รหัส | หมายเหตุ |
|---|---|
|
สร้างวัตถุสแกนเนอร์ อ่านบรรทัดจากคอนโซล แปลงสตริงเป็นอาร์เรย์ของสตริง /อักขระนี้ ใช้เป็นตัวคั่น เชื่อมต่อสตริงทั้งหมดในอาร์เรย์ของสตริง ใช้ \เป็นตัวคั่น (เรามองว่าหนี) แสดงสตริง |
แนวทางที่ 3: — ใช้replace(char oldChar, char newChar)วิธีการ
| รหัส | หมายเหตุ |
|---|---|
|
สร้างวัตถุสแกนเนอร์ อ่านบรรทัดจากคอนโซล เพียงแทนที่อักขระหนึ่งตัวด้วยอักขระอื่น (ตัวที่สองใช้ Escape) แสดงสตริง |
GO TO FULL VERSION