ใน Java, the “ นักศึกษาฝึกงาน () ” วิธีการใช้เพื่อให้แน่ใจว่าหากสตริงเก็บข้อมูลจำนวนมาก ดังนั้นสตริงที่มีองค์ประกอบเดียวกันจะใช้หน่วยความจำเดียวกัน วิธีนี้มีประโยชน์มากในการลดพื้นที่หน่วยความจำสำหรับโปรแกรม ตัวอย่างเช่น หากคุณมีรายชื่อพนักงานจำนวนมากโดยที่ชื่อ “ แจ็ค ” ปรากฏขึ้นสิบครั้ง “ นักศึกษาฝึกงาน () วิธีการ ” จะทำให้มั่นใจได้ว่า “ แจ็ค ” ใช้พื้นที่เพียงพื้นที่เดียวในหน่วยความจำ
โพสต์นี้จะกล่าวถึงการใช้เมธอด String.intern() ใน Java
String.intern() ใน Java คืออะไร
“ นักศึกษาฝึกงาน () ” วิธีการใน Java ใช้สำหรับส่งคืนการอ้างอิงไปยังวัตถุสตริงที่ระบุ อย่างไรก็ตาม หากอ็อบเจกต์สตริงมีเนื้อหา/ข้อมูลเดียวกันในกลุ่มสตริง มันจะส่งคืนการอ้างอิงของสตริงก่อนหน้า นอกจากนี้ ถ้าสตริงไม่มีอยู่ในกลุ่มสตริง มันจะเพิ่มสตริงใหม่และการอ้างอิงไปยังกลุ่มสตริง
ไวยากรณ์
หากต้องการใช้วิธีการที่ระบุไว้ เพียงทำตามไวยากรณ์ที่ระบุด้านล่าง:
สตริง . นักศึกษาฝึกงาน ( )
ในตัวอย่างนี้ เราจะกล่าวถึงเหตุใดจึงต้องใช้ “ นักศึกษาฝึกงาน () วิธีการ ” ใน Java เมื่อสตริงถูกสร้างขึ้นในฮีปโดยใช้ “ สตริง() ” ตัวสร้าง ขั้นแรก สร้างวัตถุสตริงโดยใช้ ' สตริง() ” ตัวสร้าง หลังจากนั้น ข้อมูลสำหรับสตริงจะถูกส่งผ่านเป็นพารามิเตอร์ไปยังวัตถุนี้และจัดเก็บไว้ในตัวแปร:
สตริง ก = ใหม่ สตริง ( 'ยินดีต้อนรับสู่ลินุกซ์ชินท์' ) ;
วัตถุสตริงอื่นถูกสร้างขึ้นโดยทำตามขั้นตอนเดียวกัน:
สตริง ข = ใหม่ สตริง ( 'ยินดีต้อนรับสู่ลินุกซ์' ) ;เรียกใช้ ' วิธี println()” และตั้งค่า “a=b ” เป็นข้อโต้แย้งของวิธีนี้ มันจะส่งคืนผลลัพธ์เป็นเท็จเนื่องจากแต่ละสตริงมีพื้นที่ของตัวเองในหน่วยความจำ:
ระบบ . ออก . พิมพ์ ( ก == ข ) ;
สังเกตได้ว่าผลลัพธ์ของตัวอย่างที่ระบุข้างต้นกลับเป็นเท็จ:
ตัวอย่างที่ 1: วิธีการ String.intern() เพื่อตรวจสอบวัตถุสตริง
ในตัวอย่างนี้ มีการสร้างวัตถุสตริงสองรายการโดยใช้ปุ่ม ' สตริง() ” ตัวสร้างและสตริงจะถูกส่งผ่านไปยังตัวสร้างเป็นอาร์กิวเมนต์ ถัดไปเรียกใช้ ' นักศึกษาฝึกงาน () ” วิธีการสำหรับแต่ละสตริงและเก็บสตริงแรกในตัวแปร “ ก ” และอันที่สองใน “ ข '. ตรวจสอบสภาพ “ ก=ข ” และใช้ “ println() ” เพื่อแสดงผล:
สตริง ก = ใหม่ สตริง ( 'ยินดีต้อนรับสู่ลินุกซ์' ) . นักศึกษาฝึกงาน ( ) ;สตริง ข = ใหม่ สตริง ( 'ยินดีต้อนรับสู่ลินุกซ์' ) . นักศึกษาฝึกงาน ( ) ;
ระบบ . ออก . พิมพ์ ( ก == ข ) ;
เป็นผลให้มันส่งกลับ ' จริง ” คุณค่า เนื่องจาก “ นักศึกษาฝึกงาน () ” วิธีการทำให้แน่ใจว่าแต่ละสตริงครอบครองพื้นที่ในหน่วยความจำเดียวกันเพื่อเก็บข้อมูลสตริง:
ตัวอย่างที่ 2: String.intern() วิธีการตรวจสอบ String และ String Object
ในตัวอย่างที่ระบุนี้ สตริงต่างๆ ถูกสร้างขึ้นและจัดเก็บไว้ในตัวแปรต่างๆ สำหรับจุดประสงค์นี้ ขั้นแรก ตัวแปรจะเริ่มต้นด้วยค่าสตริง “ ลีนุกซ์ ”:
สตริง ก = 'ลีนุกซ์' ;ใช้ “ นักศึกษาฝึกงาน () ” วิธีการโดยการเข้าถึงสตริง “ ก ” และเก็บไว้ในตัวแปร “ ข ”:
สตริง ข = ก. นักศึกษาฝึกงาน ( ) ;วัตถุประเภทสตริงใหม่ถูกสร้างขึ้นด้วยความช่วยเหลือของ ' สตริง() ” ตัวสร้างและส่งผ่าน “ ลีนุกซ์ ” เป็นพารามิเตอร์ของตัวสร้างนี้ จากนั้นเก็บไว้ในตัวแปร “ ค ”:
สตริง ค = ใหม่ สตริง ( 'ลีนุกซ์' ) ;
เรียกใช้ ' นักศึกษาฝึกงาน () ” วิธีการโดยการเข้าถึงตัวแปร “ ค ” และเก็บผลลัพธ์ไว้ใน “ ง ”:
สตริง ง = ค. นักศึกษาฝึกงาน ( ) ;ตอนนี้เปรียบเทียบสตริงที่สร้างขึ้นเหล่านี้กับแต่ละอื่น ๆ เพื่อจุดประสงค์นั้น ให้เรียกใช้ “ println() ” วิธีการและส่งพารามิเตอร์ตามข้อมูลโค้ดด้านล่าง:
ระบบ . ออก . พิมพ์ ( ก == ข ) ;ระบบ . ออก . พิมพ์ ( ก == ค ) ;
ระบบ . ออก . พิมพ์ ( ก == ง ) ;
ระบบ . ออก . พิมพ์ ( ข == ค ) ;
ระบบ . ออก . พิมพ์ ( ข == ง ) ; ระบบ . ออก . พิมพ์ ( ค == ง ) ;
เอาต์พุตของแต่ละคำสั่งที่เกี่ยวข้องจะถูกพิมพ์บนคอนโซล เราได้จับคู่ผลลัพธ์กับแต่ละคำสั่ง:
นั่นคือทั้งหมดที่เกี่ยวกับเมธอด string.intern() ใน Java
บทสรุป
“ String.intern() วิธีการ” ใน Java ส่งคืนการอ้างอิงไปยังวัตถุสตริงที่ระบุ อย่างไรก็ตาม หากอ็อบเจกต์สตริงมีเนื้อหา/ข้อมูลเดียวกันในกลุ่มสตริง มันจะส่งคืนการอ้างอิงของสตริงก่อนหน้า โพสต์นี้ได้ระบุกรณีการใช้งานต่างๆ ของเมธอด String.intern() ใน Java