เมื่อเร็ว ๆ นี้ฉันพบปัญหาเล็ก ๆ น้อย ๆ ในโครงการ สตริงแบ่งออกเป็นอาร์เรย์คล้ายกับ string str =” AAA, BBB, CCC”; จากนั้นใช้ "," เป็นตัวแยกเพื่อแบ่งออกเป็นอาร์เรย์ วิธีใดที่สามารถใช้ในการใช้งานได้?
วิธีแรก:
บางทีคุณอาจคิดว่าจะใช้วิธีการแยก () มันสะดวกที่สุดที่จะนำไปใช้กับวิธีการแยก () แต่ประสิทธิภาพของมันค่อนข้างต่ำ
วิธีที่สอง:
ใช้คลาส StringTokenizer ที่มีประสิทธิภาพมากขึ้นเพื่อแยกสตริง คลาส StringTokenizer เป็นคลาสเครื่องมือที่มีให้ใน JDK โดยเฉพาะสำหรับการประมวลผลส่วนย่อยการแบ่งส่วนสตริง ตัวสร้างของมันมีดังนี้:
Public StringTokenizer (String Str, String Delim)
STR คือสตริงที่จะแบ่งและประมวลผลและ Delim เป็นสัญลักษณ์การแบ่งส่วน เมื่อมีการสร้างวัตถุ StringTokenizer สตริงที่แบ่งตัวต่อไปสามารถรับได้ผ่านวิธี NextToken () จากนั้นด้วยวิธี Hasmoretokens () คุณสามารถรู้ได้ว่ามีการประมวลผลย่อยเพิ่มเติมหรือไม่ วิธีนี้มีประสิทธิภาพมากกว่าวิธีแรก
วิธีที่สาม:
ใช้สองวิธีของสตริง - indexof () และ substring () Substring () ใช้เทคโนโลยีเวลาต่อพื้นที่ดังนั้นประสิทธิภาพการดำเนินการค่อนข้างเร็ว ตราบใดที่ปัญหาการไหลล้นหน่วยความจำได้รับการจัดการอย่างดีก็สามารถใช้งานได้อย่างกล้าหาญ ฟังก์ชั่นดัชนี () เป็นวิธีการดำเนินการที่รวดเร็วมาก
ต้นแบบมีดังนี้:
ดัชนี int สาธารณะ (int ch) มันส่งคืนตำแหน่งของอักขระที่ระบุในวัตถุสตริง ดังนี้:
ตัวอย่างเช่น:
"ab && 2" ถูกแบ่งออกเป็น "ab" "2" สตริง tmp = "ab && 2"; string splitstr = null; int j = tmp.indexof ("&"); // ค้นหาตำแหน่งของตัวคั่น splitstr = tmp.substring (0, j); // ค้นหาตัวคั่นและสกัดกั้น substring tmp = tmp.substring (j + 2); // สตริงที่เหลืออยู่ที่จำเป็นต้องดำเนินการ System.out.println (SPLITSTR); System.out.println (TMP); AB2สามวิธีข้างต้น (สรุป) ของการแบ่งส่วนสตริง Java เป็นเนื้อหาทั้งหมดที่ฉันแบ่งปันกับคุณ ฉันหวังว่าคุณจะให้ข้อมูลอ้างอิงและฉันหวังว่าคุณจะสนับสนุน wulin.com มากขึ้น