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()方法是Object类中的一个方法,它用于比较两个对象是否相等。然而,它的默认实现是比较对象的引用(地址),而不是比较对象的实际内容。因此,在某些情况下,...
在Java编程语言中,`compareTo()`方法是`Comparable`接口的一部分,它允许对象进行相互比较。这个方法主要用于排序,特别是当需要自定义排序规则时。本文将深入探讨`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类...
String类下compareTo()与compare()方法比较 String类下compareTo()与compare()方法是Java语言中两个常用的比较方法,但它们在使用和实现上存在一定的区别,本文将对这两个方法进行详细的比较和分析。 首先,...
BigDecimal#compareTo - 副本
代码如下: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() 和 ==,每种运算符都有其特点和应用场景。下面将详细介绍这三种运算符的区别和应用。 ...
###Responsibilities### Aequum 库旨在通过使用在 POJO 类上编写equals 、 hashCode和compareTo方法时帮助删除一些样板。 请注意,此库依赖于 Java 8。 ###组件初始化指令###要使用此库,调用builder的方法Aequum...
Java 中保持 compareTo 和 equals 同步 在 Java 中,compareTo 和 equals 是两个不同的概念,但它们之间存在着紧密的联系。compareTo 是 Comparable 接口中的方法,用于比较两个对象的大小关系,而 equals 是 ...
《深入解析Java String类的compareTo(String otherString)方法》 在Java编程中,String类是不可或缺的一部分,它的各种方法在日常开发中被广泛使用。本文将深入探讨String类中的compareTo(String otherString)方法...
本文将深入探讨BigDecimal的`equals`方法和`compareTo`方法的区别,这对于处理财务、金融等领域中对精度要求极高的计算至关重要。 首先,`equals`方法是Java对象的基本方法,它用于判断当前对象是否与指定对象相等...
你需要重写 `CompareTo` 方法来定义对象之间的比较逻辑。 - **提供 `IComparer<T>` 实例**:这种方式更为灵活,可以在不修改现有类的情况下定义排序逻辑。你需要实现 `Compare` 方法来定义两个对象之间的比较逻辑。 ...
while (j >= 0 && array[j].compareTo(key) > 0) { array[j + 1] = array[j]; j--; } array[j + 1] = key; } } ``` **2. 希尔排序** 希尔排序是直接插入排序的一种更高效的改进版本。它通过引入“增量”概念...
我们都是阴沟里的虫子,但总还是得有人仰望...Comparator comparator = (Mask o1, Mask o2) -> o1.getBrand().compareTo(o2.getBrand()); 就可以简写为: Comparator comparator = (o1, o2) -> o1.getBrand().compare
这个方法的实现应该遵循完全有序性,即对于任何对象`a`、`b`和`c`,如果`a.compareTo(b)`和`b.compareTo(c)`都返回非零值,那么`a.compareTo(b)`与`b.compareTo(c)`的符号应该一致。 例如,如果你正在创建一个表示...
在实现自定义分组求和并排序时,需要注意的是,在 `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...
本文将深入探讨如何在Java中按照字母顺序比较字符串,并提供两种不同的方法:一种是使用Java的`compareTo()`方法,另一种是自定义不依赖库函数的比较算法。 首先,我们来看`compareTo()`方法。这个方法是Java `...