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