สตริงเป็นประเภทข้อมูลที่ใช้ในการจัดเก็บข้อมูลแบบข้อความใน 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() อย่างมืออาชีพ!