在 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
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP