`

compareTo

    博客分类:
  • java
 
阅读更多
compareTo是按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。

int value=str1.compareTo(str2);
当str1小于str2时,返回小于0的值,当str1与str2相同时,返回0,当str1大于str2时,返回大于0的值。

具体的比较分2种情况,如下:

情况1.当一个字符串是另一个字符串前缀时,比较的是两个字符串长度的差异
    int value="abc".compareTo("abcde"); //返回-2  比较的是字符串长度 
   int value="abcdfg".compareTo("abc"); //返回3   比较的是字符串长度 


情况2.当一个字符串不是另一个字符串前缀时,比较的是从左边起的第一个差异位置的unicode的差值
比如:
例1
  "abcd".compareTo("aecb");
   从左边数,第一个差异位置的Unicode之差,也就是(int)'b'-(int)'e'的值

例2:
   "abcd".compareTo("a汉字ecb");
    (int)'b'-(int)'汉';//返回值等于上面的"abcd".compareTo("a汉字ecb");

例3:
   "abc".compareTo("拼音abc");
    (int)'a'-(int)'拼';//返回值等于上面的 "abc".compareTo("拼音abc");

分享到:
评论

相关推荐

    关于重写equals,hashcode以及compareTo方法!

    关于重写equals、hashcode以及compareTo方法! equals()方法是Object类中的一个方法,它用于比较两个对象是否相等。然而,它的默认实现是比较对象的引用(地址),而不是比较对象的实际内容。因此,在某些情况下,...

    java CompareTo使用案例

    在Java编程语言中,`compareTo()`方法是`Comparable`接口的一部分,它允许对象进行相互比较。这个方法主要用于排序,特别是当需要自定义排序规则时。本文将深入探讨`compareTo()`方法的使用,包括其基本原理、语法、...

    compareTo用法

    ### compareTo方法详解 在Java编程语言中,`compareTo`方法是一种非常重要的方法,它主要用于对象之间的比较。此方法常用于实现`Comparable`接口时自定义排序逻辑,是Java集合框架中进行排序的基础。 #### ...

    Java SE程序 TreeSet类中自定义CompareTo类

    Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类Java SE程序 TreeSet类中自定义CompareTo类...

    String类下compareTo()与compare()方法比较

    String类下compareTo()与compare()方法比较 String类下compareTo()与compare()方法是Java语言中两个常用的比较方法,但它们在使用和实现上存在一定的区别,本文将对这两个方法进行详细的比较和分析。 首先,...

    BigDecimal#compareTo - 副本.md

    BigDecimal#compareTo - 副本

    LINQ字符串向datetime 转换时失败的处理方法

    代码如下:from j in system.jhzdwhere j.dwbm.ToString().Trim() == branchcode.ToString().Trim()&& Convert.ToDateTime(j.yearmonth.ToString().Trim()).CompareTo(Convert.ToDateTime(timeFrom)) >= 0&& Convert...

    Java中比较运算符compareTo()、equals()与==的区别及应用总结

    Java中比较运算符compareTo()、equals()与==的区别及应用总结 Java 中的比较运算符有多种,包括 compareTo()、equals() 和 ==,每种运算符都有其特点和应用场景。下面将详细介绍这三种运算符的区别和应用。 ...

    aequum:Aequum 库旨在通过使用 Java 8 lambdas 在 POJO 类上编写 equals、hashCode 和 compareTo 方法时帮助删除一些样板

    ###Responsibilities### Aequum 库旨在通过使用在 POJO 类上编写equals 、 hashCode和compareTo方法时帮助删除一些样板。 请注意,此库依赖于 Java 8。 ###组件初始化指令###要使用此库,调用builder的方法Aequum...

    详解java中保持compareTo和equals同步

    Java 中保持 compareTo 和 equals 同步 在 Java 中,compareTo 和 equals 是两个不同的概念,但它们之间存在着紧密的联系。compareTo 是 Comparable 接口中的方法,用于比较两个对象的大小关系,而 equals 是 ...

    java源码解析之String类的compareTo(String otherString)方法

    《深入解析Java String类的compareTo(String otherString)方法》 在Java编程中,String类是不可或缺的一部分,它的各种方法在日常开发中被广泛使用。本文将深入探讨String类中的compareTo(String otherString)方法...

    浅谈java中BigDecimal的equals与compareTo的区别

    本文将深入探讨BigDecimal的`equals`方法和`compareTo`方法的区别,这对于处理财务、金融等领域中对精度要求极高的计算至关重要。 首先,`equals`方法是Java对象的基本方法,它用于判断当前对象是否与指定对象相等...

    2024年 C# sort面试题目

    你需要重写 `CompareTo` 方法来定义对象之间的比较逻辑。 - **提供 `IComparer<T>` 实例**:这种方式更为灵活,可以在不修改现有类的情况下定义排序逻辑。你需要实现 `Compare` 方法来定义两个对象之间的比较逻辑。 ...

    常用排序算法分析与实现(Java版)

    while (j >= 0 && array[j].compareTo(key) > 0) { array[j + 1] = array[j]; j--; } array[j + 1] = key; } } ``` **2. 希尔排序** 希尔排序是直接插入排序的一种更高效的改进版本。它通过引入“增量”概念...

    死磕Lambda表达式(三):更简洁的Lambda

    我们都是阴沟里的虫子,但总还是得有人仰望...Comparator comparator = (Mask o1, Mask o2) -> o1.getBrand().compareTo(o2.getBrand()); 就可以简写为: Comparator comparator = (o1, o2) -> o1.getBrand().compare

    492.490.JAVA基础教程_常用类-自定义类实现Comparable自然排序(492).rar

    这个方法的实现应该遵循完全有序性,即对于任何对象`a`、`b`和`c`,如果`a.compareTo(b)`和`b.compareTo(c)`都返回非零值,那么`a.compareTo(b)`与`b.compareTo(c)`的符号应该一致。 例如,如果你正在创建一个表示...

    java8 stream自定义分组求和并排序的实现

    在实现自定义分组求和并排序时,需要注意的是,在 `compareTo` 方法中,如果使用 `return this.getTime().compareTo(o.getTime());`,那么结果将不正确。这是因为,在分组求和时,如果使用了排序,那么分组时对相同...

    算法大全-面试题-链表-栈-二叉树-数据结构

    if (l1.Data.CompareTo(l2.Data) ) { tail.Next = l1; l1 = l1.Next; } else { tail.Next = l2; l2 = l2.Next; } tail = tail.Next; } if (l1 != null) { tail.Next = l1; } else if (l2 != null...

Global site tag (gtag.js) - Google Analytics