equals 和 compareTo 在 Java 中的区别是什么?


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

  • 结果为负整数,如果此 String 对象在字典顺序上位于参数字符串之前。
  •  结果为正整数,如果此 String 对象在字典顺序上位于参数字符串之后。
  •  结果为零,如果字符串相等,则 compareTo 返回 0 且仅当 equals(Object) 方法返回 true 时才会返回 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 日

2K+ 浏览量

开启你的 职业生涯

完成课程并获得认证

开始学习
广告