将字符串与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