`

String类下compareTo()方法

    博客分类:
  • J2SE
阅读更多
转载:http://www.blogjava.net/onejavaer
String类下compareTo()方法
比较两个字符串,依次对比两个字符串中字符的ASC码,两个字符的ASC码相等则继续比较下两个字符直至比较出不同的两个字符跳出方法.方法返回值类型为整型.
例如
String a = "2345";
String b = "2322";
则a.compareTo(b)返回2
b.compareTo(a)返回-2
如果两个字符串相等,则返回值为0

自己的理解还有是偏差的,下面是经典的解释


compareTo
public int compareTo(String anotherString)
按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此 String 对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此 String 对象在参数字符串之前,则比较结果为一个负整数。如果按字典顺序此 String 对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0;compareTo 只有在方法 equals(Object) 返回 true 时才返回 0。
这是字典排序的定义。如果这两个字符串不同,则要么它们在某个索引处具有不同的字符,该索引对二者均为有效索引,要么它们的长度不同,或者同时具备上述两种情况。如果它们在一个或多个索引位置上具有不同的字符,假设 k 是这类索引的最小值;则按照 < 运算符确定的那个字符串在位置 k 上具有较小的值,其字典顺序在其他字符串之前。这种情况下,compareTo 返回这两个字符串在位置 k 处的两个不同的 char 值,即值:

this.charAt(k)-anotherString.charAt(k)

如果它们没有不同的索引位置,则较短字符串在字典顺序上位于较长字符串的前面。这种情况下,compareTo 返回这两个字符串长度的不同,即值:
this.length()-anotherString.length()


指定者:
接口 Comparable<String> 中的 compareTo
参数:
anotherString - 要比较的 String。
返回:
如果参数字符串等于此字符串,则返回 0 值;如果按字典顺序此字符串小于字符串参数,则返回一个小于 0 的值;如果按字典顺序此字符串大于字符串参数,则返回一个大于 0 的值。

--------------------------------------------------------------------------------

compareToIgnoreCase
public int compareToIgnoreCase(String str)
不考虑大小写,按字典顺序比较两个字符串。此方法返回一个整数,它的正负号是调用 compareTo 的正负号,调用时使用了字符串的规范化版本,其大小写差异已通过对每个字符调用 Character.toLowerCase(Character.toUpperCase(character)) 得以消除。
注意,此方法不 考虑语言环境,因此可能在某些特定的语言环境中产生不理想的排序。java.text 包提供 Collators 来完成语言环境敏感的排序。


参数:
str - 要比较的 String。
返回:
一个负整数、零或正整数,视指定的 String 大于、等于还是小于该 String 而定,不考虑大小写。

分享到:
评论

相关推荐

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

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

    String类的常用方法

    String类的常用方法 String类是Java语言中最基本的类之一,用于处理字符串。字符串是一个字符序列,Java中字符串是不可变的,即创建后不能被修改。下面是String类的常用方法: 1. equals()方法:用于判断两个字符...

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

    例如,在String、Math、Integer、Double等封装类中,已经重写了equals()方法,使其比较对象的实际内容,而不是地址。这样,在比较两个对象是否相等时,我们可以根据对象的实际内容来判断,而不是地址。 需要注意的...

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

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

    java string类常用方法

    Java String 类常用方法 Java中的String类是Java语言中最基本的类之一,它提供了许多实用的方法来操作字符串。在日常开发中,我们经常会使用这些方法来完成字符串的处理和操作。下面我们将详细介绍Java String类中...

    C#中String类常用方法汇总

    以下是对C#中String类常用方法的详细解释和示例: 1. `.ToLower()` 和 `.ToUpper()` 这两个方法用于将字符串转换为小写或大写形式,方便进行大小写的统一处理。 ```csharp string str = "AbC"; string lowerStr...

    java中的String类常用方法解析(一)

    本文将深入解析`String`类的一些常用方法,帮助开发者更好地理解和使用这个核心类。 1. **构造方法** - `String()`:创建一个空字符串。 - `String(char[] value)`:根据字符数组创建字符串。 - `String(String ...

    String类方法使用例子

    在Java编程语言中,`String` 类是处理字符串的核心类,它包含了大量的方法,使得对字符串的操作变得简单而高效。本篇文章将详细讲解`String`类的一些常用方法,并通过具体的例子来展示它们的用法。 1. **创建String...

    Educoder题目:Java面向对象 - String类答案解析.md

    Educoder题目:Java面向对象 - String类答案解析

    string类的常用方法.zip

    在C++中,`std::string`是标准库的一部分,而在Java中,`String`是一个不可变的类,位于`java.lang`包下。 1. **构造方法**: - `String()`: 创建一个空字符串。 - `String(char[] array)`: 通过字符数组创建字符...

    JAVA【第5章:面向对象基础】_String类的常用方法.rar

    本章节将深入探讨`String`类的常用方法,帮助你更好地理解和运用这个核心组件。 `String`类在Java中的地位不言而喻,它是不可变的对象,表示一串字符序列。由于其不可变性,每次对`String`对象的操作都会创建新的`...

    String类的方法

    ### String类的方法详解 在Java编程语言中,`String` 类是用于表示不可变文本序列的一个重要类。本文将详细介绍 `String` 类的一些常用方法及其应用场景,并通过示例代码加深理解。 #### 1. `length()` - **功能*...

    java String类常用方法练习小结

    `compareTo`是`String`类的一个方法,它根据Unicode值比较两个字符串。如果第一个字符串大于第二个字符串,`compareTo`返回正整数;如果两个字符串相等,返回0;如果第一个字符串小于第二个字符串,则返回负整数。在...

    java自制string类例程

    4. **方法**:自定义的String类需要实现类似Java内置String类的方法,如`length()`、`charAt(int index)`、`substring(int beginIndex, int endIndex)`等,以便于操作和访问字符串。 5. **字符串连接**:模拟`+`...

    关于String类的一些方法

    在本文中,我们将深入探讨`String`类的一些关键方法,这些方法在日常编程中极为常用,有助于字符串的处理和操作。 1. **构造方法**: - `String()`:创建一个空字符串。 - `String(char[] value)`:根据字符数组...

    Java 中 String 类的常用方法

    14. `compareTo(String anotherString)`和`compareToIgnoreCase(String str)`方法用于按照字典顺序比较两个字符串,前者考虑大小写,后者不考虑。 15. `regionMatches(boolean ignoreCase, int toffest, String ...

    Java-String类的常用方法总结.pdf

    在这个总结中,我们将深入探讨String类的一些核心特性和方法。 首先,String类位于`java.lang`包中,这意味着它对所有Java程序都是自动导入的,无需额外引用。String类被声明为final,这意味着我们无法创建其子类,...

Global site tag (gtag.js) - Google Analytics