如何在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
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP