equals 与 compareTo 在 Java 中有什么区别?


compareTo() 方法按字典序比较两个字符串。比较基于字符串中每个字符的 Unicode 值。该字符串对象表示的字符序列将按字典序与 arg 字符序列进行比较。

  • 如果该字符串对象在字典序中的位置在参数字符串之前,结果将为负整型。
  •  如果该字符串对象在字典序中的位置在参数字符串之后,结果将为正整型。
  •  如果字符串相等,结果为零,当且仅当 equals(Object) 方法返回 true 时,compareTo 返回 0。

示例

实时演示

public class StringDemo {
   public static void main(String[] args) {
      String str1 = "tutorials", str2 = "point";

      // comparing str1 and str2
      int retval = str1.compareTo(str2);

      // prints the return value of the comparison
      if (retval < 0) {
         System.out.println("str1 is greater than str2");
      } else if (retval == 0) {
         System.out.println("str1 is equal to str2");
      } else {
         System.out.println("str1 is less than str2");
      }
   }
}

输出

str1 is less than str2

更新于: 2020 年 6 月 18 日

2 千 + 次浏览

开启您的 职业生涯

完成课程以获得认证

开始
广告