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

วิธีเปรียบเทียบสตริงแบบ Case-Insensitive ใน Java

เราสามารถเปรียบเทียบสตริงใน Java ได้หลายวิธี:

1. ใช้เมธอด compareTo()

เมธอด compareTo() เปรียบเทียบสตริงสองตัวแบบ lexicographically โดยอิงค่า Unicode ของแต่ละตัวอักษร

import java.util.Scanner;
public class StringComparison {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter string1: ");
        String str1 = sc.next();
        System.out.println("Enter string2: ");
        String str2 = sc.next();
        int result = str1.compareTo(str2);
        if (result < 0) {
            System.out.println("str1 is not equal to str2");
        } else if (result == 0) {
            System.out.println("str1 is equal to str2");
        } else {
            System.out.println("str1 is not equal to str2");
        }
    }
}

2. ใช้ตัวดำเนินการ ==

เปรียบเทียบ reference ของตัวแปร ไใช่ค่า (ไม่แนะนำสำหรับเปรียบเทียบเนื้อหา)

String str1 = "hello";
String str2 = "hello";
if (str1 == str2) { System.out.println("Both are equal"); }

3. ใช้เมธอด equals()

เปรียบเทียบเนื้อหาสตริง รวมถึงตัวพิมพ์ใหญ่/เล็ก

boolean bool = str1.equals(str2); // "Hello".equals("hello") = false

การเปรียบเทียบแบบ Case-Insensitive

เมธอด equalsIgnoreCase() ของคลาส String เปรียบเทียบสตริงโดยไม่สนใจตัวพิมพ์ใหญ่/เล็ก

import java.util.Scanner;
public class StringComparison {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("Enter string1: ");
        String str1 = sc.next();
        System.out.println("Enter string2: ");
        String str2 = sc.next();
        boolean bool = str1.equalsIgnoreCase(str2);
        if (bool) {
            System.out.println("Both are equal");
        } else {
            System.out.println("Both are not equal");
        }
    }
}

ผลลัพธ์

Enter string1: Hello
Enter string2: hello
Both are equal

สรุป

เมธอดCase-Sensitiveใช้สำหรับ
equals()ใช่เปรียบเทียบค่าที่ต้องตรงทุกตัวอักษร
equalsIgnoreCase()ไม่เปรียบเทียบค่าไม่สนใจพิมพ์ใหญ่/เล็ก
compareTo()ใช่เรียงลำดับหรือเปรียบเทียบมาก/น้อย
==-เปรียบเทียบ reference (ไม่แนะนำ)