将字符串与Java中的(可能)空值进行比较?

Java中的字符串表示字符数组。它们由String类表示。

使用compareTo()方法

compareTo()String类两个字符串(由炭炭)的方法,也接受空值。如果获得的整数的值为-,则此方法返回表示结果的整数-

  • 0:给定两个字符串相等或为null。

  • 1以下:当前String放在参数之前。

  • 1或多个:当前String接替参数。

示例

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();
      //比较两个字符串
      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

equals()Object类的使用方法

以相同的方式,equals()对象类的方法接受两个String值并返回一个布尔值,如果两个值相等(或为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