สตริงเป็นประเภทข้อมูลที่ใช้ในการจัดเก็บข้อมูลแบบข้อความใน Java เมื่อคุณทำงานกับสตริง คุณอาจพบสถานการณ์ที่คุณต้องการเปรียบเทียบสตริงทั้งสองเข้าด้วยกัน
นั่นคือที่ที่สตริง Java equals()
และ equalsIgnoreCase()
เมธอดเข้ามา equals()
เมธอดใช้เพื่อตรวจสอบว่าสองสตริงเท่ากันหรือไม่ และ equalsIgnoreCase()
ใช้เพื่อเปรียบเทียบว่าสองสตริงเท่ากันหรือไม่โดยไม่สนใจกรณีของสตริง
บทแนะนำนี้จะอธิบายวิธีการใช้สตริง equals()
. พร้อมตัวอย่าง และ equalsIgnoreCase()
เมธอดใน Java เมื่ออ่านบทความนี้จบ คุณจะเป็นผู้เชี่ยวชาญในการเปรียบเทียบสตริงโดยใช้วิธีการเหล่านี้ใน Java
จาวาสตริง
สตริงใช้เพื่อเก็บข้อความและรวมถึงตัวอักษร ตัวเลข สัญลักษณ์ และช่องว่าง ตัวอย่างเช่น สตริงอาจรวมถึงชื่อของลูกค้าที่ร้านตัดเสื้อ หรือที่อยู่ของซัพพลายเออร์สำหรับร้านตัดเสื้อ
ใน Java สตริงจะถูกประกาศเป็นลำดับของอักขระที่อยู่ระหว่างเครื่องหมายคำพูด นี่คือตัวอย่างของสตริง Java:
String favoriteCoffeeShop = "Central Perk";
ในตัวอย่างนี้ เราได้ประกาศตัวแปรชื่อ favoriteCoffeeShop
และกำหนดค่า Central Perk
.
ออบเจ็กต์สตริง Java นั้นเปลี่ยนไม่ได้ ซึ่งหมายความว่าเมื่อสร้างสตริงแล้ว เราจำเป็นต้องใช้ equals()
วิธีการเปรียบเทียบกับสตริงอื่น ตอนนี้เรารู้พื้นฐานของสตริงแล้ว เรามาพูดถึงสตริงกันต่อ equals()
และ equalsIgnoreCase()
วิธีการ
Java String เท่ากับ
สตริง Java equals()
เมธอดใช้เพื่อเปรียบเทียบอ็อบเจ็กต์และตรวจสอบว่าเนื้อหาของสองสตริงเท่ากันหรือไม่
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
equals()
ยอมรับหนึ่งพารามิเตอร์:สตริงที่คุณต้องการเปรียบเทียบกับสตริงอื่น นี่คือไวยากรณ์สำหรับสตริง equals()
วิธีการ:
stringName.equals(string2Name);
มาทำลายสิ่งนี้กันเถอะ:
- stringName เป็นชื่อของสตริงดั้งเดิมที่คุณต้องการเปรียบเทียบ string2Name
- เท่ากับ () เป็นวิธีการที่ใช้เปรียบเทียบ stringName กับ string2Name
- string2Name คือสตริงที่คุณต้องการเปรียบเทียบกับ stringName
equals()
วิธีคืนค่าบูลีนโดยพิจารณาว่าสตริงมีค่าเท่ากันหรือไม่ ดังนั้น หากทั้งสองสตริงเท่ากัน ค่าจริงจะถูกส่งคืน มิฉะนั้นจะคืนค่าเท็จ
สตริง equals()
วิธีการจะคำนึงถึงขนาดตัวพิมพ์ ดังนั้น หากสองสตริงมีอักขระเหมือนกันแต่ใช้ตัวพิมพ์ต่างกัน equals()
วิธีการจะคืนค่าเท็จ
Java String เท่ากับตัวอย่าง
สมมติว่าเรากำลังดำเนินการโรงแรมและกำลังเขียนโปรแกรมเพื่อปรับปรุงขั้นตอนการเช็คอินของเรา เมื่อลูกค้าเช็คอิน พวกเขาควรให้ชื่อและข้อมูลอ้างอิงการจอง เราจะเปรียบเทียบข้อมูลอ้างอิงการจองที่ลูกค้ามอบให้กับชื่อที่จัดเก็บไว้พร้อมชื่อในไฟล์ เพื่อยืนยันตัวตนของลูกค้า
เราสามารถใช้รหัสนี้เพื่อเปรียบเทียบการอ้างอิงการจองในไฟล์กับการอ้างอิงการจองที่ลูกค้าให้มา:
class Main { public static void main(String args[]) { String onFileBookingReference = "#ST2920198"; String customerGivenBookingReference = "#ST2920198"; boolean areEqual = onFileBookingReference.equals(customerGivenBookingReference); if (areEqual == true) { System.out.println("This booking is confirmed."); } else { System.out.println("The booking reference provided does not match the one on-file."); } } }
รหัสของเราส่งคืน:
This booking is confirmed.
มาทำลายรหัสของเรากัน:
- เราประกาศตัวแปรชื่อ
onFileBookingReference
ซึ่งเก็บข้อมูลอ้างอิงการจองที่เกี่ยวข้องกับชื่อลูกค้า - เราประกาศตัวแปรชื่อ
customerGivenBookingReference
ซึ่งเก็บข้อมูลอ้างอิงการจองที่ลูกค้ามอบให้กับพนักงานที่เคาน์เตอร์เช็คอิน - เราใช้
equals()
วิธีการตรวจสอบว่าonFileBookingReference
เท่ากับcustomerGivenBookingReference
และกำหนดผลลัพธ์ของวิธีการให้กับตัวแปร areEqual - อัน
if
คำสั่งที่ใช้ในการตรวจสอบว่าareEqual
มีค่าเท่ากับความจริง- หาก areEqual เท่ากับ true จะมีข้อความว่า
This booking is confirmed
. ถูกพิมพ์ไปที่คอนโซล - หาก areEqual เท่ากับ false ข้อความ
The booking reference provided does not match the one on-file
. ถูกพิมพ์ไปที่คอนโซล
- หาก areEqual เท่ากับ true จะมีข้อความว่า
ในตัวอย่างนี้ ลูกค้าได้ให้ข้อมูลอ้างอิงการจองที่ถูกต้อง ดังนั้นโปรแกรมของเราจึงยืนยันการจองของพวกเขา
Java String เท่ากับ IgnoreCase
สตริง equalsIgnoreCase()
เมธอดใช้เพื่อเปรียบเทียบสองสตริงโดยไม่สนใจตัวพิมพ์ equalsIgnoreCase()
ใช้รูปแบบเดียวกับ equals()
ซึ่งมีดังนี้
stringName.equalsIgnoreCase(string2Name);
ตอนนี้ มาดูตัวอย่างเพื่อแสดงวิธีการนี้ในการใช้งานจริง
สมมติว่าเราต้องการเขียนโปรแกรมที่ตรวจสอบว่าชื่อของลูกค้าตรงกับชื่อที่เกี่ยวข้องกับการอ้างอิงการจองที่ให้ไว้หรือไม่ การตรวจสอบนี้ไม่ควรคำนึงถึงขนาดตัวพิมพ์เพื่อให้แน่ใจว่าข้อผิดพลาดในการใช้อักษรตัวพิมพ์ใหญ่จะไม่ทำให้การจองสูญหายโดยพนักงานเช็คอิน
เราสามารถใช้รหัสต่อไปนี้เพื่อเปรียบเทียบชื่อลูกค้ากับชื่อที่เชื่อมโยงกับข้อมูลอ้างอิงการจอง:
class Main { public static void main(String args[]) { String onFileName = "Gregory Lamont"; String customerName = "gregory lamont"; boolean areEqual = onFileName.equalsIgnoreCase(customerName); if (areEqual == true) { System.out.println("This booking is confirmed."); } else { System.out.println("The customer name provided does not match the one on-file."); } } } When we run our code, the following response is returned: This booking is confirmed.
เมื่อเรารันโค้ดของเรา การตอบสนองต่อไปนี้จะถูกส่งกลับ:
This booking is confirmed.
ชื่อลูกค้าที่เก็บไว้ในไฟล์คือ Gregory Lamont
แต่ชื่อลูกค้าที่พนักงานป้อนคือ gregory lamont
. หากเราใช้ equals()
เมธอด สตริงเหล่านี้จะไม่ถือว่าเหมือนกันเพราะกรณีต่างกัน
อย่างไรก็ตาม ในตัวอย่างนี้ เราใช้ equalsIgnoreCase()
เมธอด ซึ่งละเว้นกรณีที่มีการเขียนอักขระของสตริง
บทสรุป
สตริง equals()
เมธอดใช้เพื่อตรวจสอบว่าสตริงสองสตริงเท่ากันทุกประการหรือไม่ equalsIgnoreCase()
เมธอดใช้เพื่อตรวจสอบว่าสตริงสองสตริงเท่ากันหรือไม่โดยไม่คำนึงถึงกรณี
กวดวิชานี้อธิบายวิธีการใช้สตริง equals()
และ equalsIgnoreCase()
เมธอดใน Java โดยมีการอ้างอิงถึงสองตัวอย่าง ตอนนี้คุณพร้อมที่จะเริ่มเปรียบเทียบสตริงใน Java โดยใช้ equals()
และ equalsIgnoreCase()
อย่างมืออาชีพ!