如何在Java中進行不區分大小寫的字串比較?
我們可以透過多種方式在Java中比較字串:
使用compareTo()方法 − **compareTo()** 方法按字典順序比較兩個字串。比較基於字串中每個字元的Unicode值。此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(); 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"); } } }
輸出1
Enter string1: Hello Enter string2: Hello str1 is equal to str2
輸出2
Enter string1: hello Enter string2: hi str1 is not equal to str2
使用==運算子 − 你可以使用==運算子比較兩個字串。但是,它比較的是給定變數的引用,而不是值。
示例
import java.util.Scanner; public class StringComparison { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str1 = "hello"; String str2 = "hello"; if (str1 == str2 ){ System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
輸出
Both are equal
使用**equals()** 方法 − String類的**equals()**方法接受一個String作為引數,並將當前字串與指定的Object進行比較。當且僅當引數不為null,並且是一個String物件,其表示的字元序列與當前物件相同(包括大小寫)時,結果為true。
示例
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.equals(str2); if (bool) { System.out.println("Both are equal"); } else { System.out.println("Both are not equal"); } } }
輸出1
Enter string1: Hello Enter string2: hello Both are not equal
輸出2
Enter string1: Hello Enter string2: Hello Both are equal
不區分大小寫的字串比較
String類的**equalsIgnoreCase()**方法類似於equals()方法,區別在於此方法在比較給定字串與當前字串時忽略大小寫。
示例
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"); } } }
輸出1
Enter string1: Hello Enter string2: hello Both are equal
廣告