在 Java 中比較包含(可能)null 值的字串?
Java 中的字串表示一個字元陣列。它們由 String 類表示。
使用 compareTo() 方法
String 類的 compareTo() 方法接受兩個字串(逐個字元),它還接受 null 值。此方法返回一個表示結果的整數,如果獲得的整數的值為 −
- 0:給定兩個字串相等或 null。
- 1 或更小:當前字串位於引數之前。
- 1 或更大:當前字串位於引數之後。
示例
import java.util.Scanner; public class CompringStrings { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter your first string value: "); String str1 = sc.next(); System.out.println("Enter your second string value: "); String str2 = sc.next(); //Comparing two Strings int res = str1.compareTo(str2); System.out.println(res); if(res==0) { System.out.println("Both Strings are null or equal"); }else if(res<0){ System.out.println(""+str1+" preceeds "+str2+""); }else if(res>0){ System.out.println(""+str2+" preceeds "+str1+""); } } }
輸出
Enter your first string value: null Enter your second string value: null 0 Both Strings are null or equal
輸出
Enter your first string value: mango Enter your second string value: apple -1 apple preceeds mango
使用 Object 類的 equals() 方法
同樣,Object 類的 equals() 方法接受兩個字串值並返回一個布林值,如果兩者相等(或 null),則為 true,否則為 false。
示例
import java.util.Scanner; public class CompringStrings { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter your first string value: "); String str1 = sc.next(); System.out.println("Enter your second string value: "); String str2 = sc.next(); if(str1.equals(str2)) { System.out.println("Both Strings are null or equal"); }else { System.out.println("Both Strings are not equal"); } } }
輸出 1
Enter your first string value: null Enter your second string value: null 0 Both Strings are null or equal
廣告