Java 程序比较字符串


你可以使用 compareTo() 方法,equals() 方法或 == 运算符比较 Java 中的两个字符串。

compareTo() 方法比较两个字符串。比较基于字符串中每个字符的 Unicode 值。此 String 对象表示的字符序列按字面意义比较与字符序列表示的参数字符串。

如果此 String 对象在按字面意义上位于参数字符串之前,则结果为负整数。

如果此 String 对象在按字面意义上位于参数字符串之后,则结果为正整数。

如果字符串相等,则结果为零,仅当 equals(Object) 方法返回 true 时,compareTo 才返回 0。

示例

实时演示

public class StringCompareEmp{
   public static void main(String args[]){
      String str = "Hello World";
      String anotherString = "hello world";
      Object objStr = str;
      System.out.println( str.compareTo(anotherString) );
      System.out.println( str.compareToIgnoreCase(anotherString) );
      System.out.println( str.compareTo(objStr.toString()));
   }
}

输出

-32
0
0

String 类中的 equals() 方法将此字符串与指定对象进行比较。仅当参数不为 null 并且为 String 对象,并且表示与该对象相同的字符序列时,结果才为真。

示例

实时演示

public class StringCompareEqual{
   public static void main(String []args){
      String s1 = "tutorialspoint";
      String s2 = "tutorialspoint";
      String s3 = new String ("Tutorials Point");
      System.out.println(s1.equals(s2));
      System.out.println(s2.equals(s3));
   }
}

输出

true
false

你还可以使用 == 运算符比较两个字符串。但是,它比较给定变量的引用,而不是值。

示例

实时演示

public class StringCompareequl{
   public static void main(String []args){
      String s1 = "tutorialspoint";
      String s2 = "tutorialspoint";
      String s3 = new String ("Tutorials Point");
      System.out.println(s1 == s2);
      System.out.println(s2 == s3);
   }
}

输出

true
false

更新于: 13-3-2020

6K+ 浏览

开始你的 职业

通过完成本课程获得认证

开始
广告