Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

Java String Equals

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

มาทำลายรหัสของเรากัน:

  1. เราประกาศตัวแปรชื่อ onFileBookingReference ซึ่งเก็บข้อมูลอ้างอิงการจองที่เกี่ยวข้องกับชื่อลูกค้า
  2. เราประกาศตัวแปรชื่อ customerGivenBookingReference ซึ่งเก็บข้อมูลอ้างอิงการจองที่ลูกค้ามอบให้กับพนักงานที่เคาน์เตอร์เช็คอิน
  3. เราใช้ equals() วิธีการตรวจสอบว่า onFileBookingReference เท่ากับ customerGivenBookingReference และกำหนดผลลัพธ์ของวิธีการให้กับตัวแปร areEqual
  4. อัน if คำสั่งที่ใช้ในการตรวจสอบว่า areEqual มีค่าเท่ากับความจริง
    1. หาก areEqual เท่ากับ true จะมีข้อความว่า This booking is confirmed . ถูกพิมพ์ไปที่คอนโซล
    2. หาก areEqual เท่ากับ false ข้อความ The booking reference provided does not match the one on-file . ถูกพิมพ์ไปที่คอนโซล

ในตัวอย่างนี้ ลูกค้าได้ให้ข้อมูลอ้างอิงการจองที่ถูกต้อง ดังนั้นโปรแกรมของเราจึงยืนยันการจองของพวกเขา

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() อย่างมืออาชีพ!