Java String compareTo() 方法示例

位置:首页>文章>详情   分类: Java教程 > 编程技术   阅读(292)   2023-06-26 07:54:18

Java String compareTo() 方法按字典顺序比较两个字符串。我们可以认为它是基于字典的比较。

1.字符串比较

如果字符串 'str1' 在字典中出现在另一个字符串 'str2' 之前,则称 str2 大于 'str1 ' 在字符串比较中。

string1 > string2'string1' 在字典中位于 'string2' 之后。 string1 < string2 - 'string1' 在字典中出现在 'string2' 之前。 string1 = string2 - 'string1''string2' 是相等的。

2.字符串compareTo()方法

在 compareTo() 方法中,两个字符串按字典顺序(字典顺序)进行比较。第一个字符串是调用方法的 String 对象本身。第二个字符串是方法的参数。

此方法根据字符串中每个字符的 Unicode 值进行字符串比较。

2.1.方法返回类型

此方法的结果是整数值,其中 -

  1. 正整数 - 表示字符串对象按字典顺序跟在参数字符串之后。
  2. 负整数 - 表示字符串对象在字典顺序上位于参数字符串之前。
  3. - 表示两个字符串相等。

2.2.方法语法

Java compareTo() 方法实现。

public int compareTo(String anotherString) {
    int len1 = value.length;
    int len2 = anotherString.value.length;
    int lim = Math.min(len1, len2);
    char v1[] = value;
    char v2[] = anotherString.value;

    int k = 0;
    while (k < lim) {
        char c1 = v1[k];
        char c2 = v2[k];
        if (c1 != c2) {
            return c1 - c2;
        }
        k++;
    }
    return len1 - len2;
}

3. Java String compareTo()例子

了解如何对 Java 字符串调用 compareTo() 方法。

public class Main 
{
    public static void main(String[] args) 
    {
        System.out.println( "apple".compareTo("banana") );  //-1 - apple comes before banana
        System.out.println( "apple".compareTo("cherry") );  //-2 - apple comes before cherry
        System.out.println( "cherry".compareTo("banana") ); //1  - cherry comes after banana
        System.out.println( "cherry".compareTo("cherry") ); //0  - Both strings are equal
    }
}

4. Java String compareToIgnoreCase()例子

Java 程序以不区分大小写的方式比较两个字符串。请注意 compareTo()compareToIgnoreCase() 方法的行为方式相同,只是后者不区分大小写

在给定的例子中,注意前两个语句中的字符串比较,改变字符串的大小写可能会改变结果和顺序。

再次注意,两个字符串的比较是逐个字符进行的——在将每个字符转换为 unicode 值之后。

public class Main 
{
    public static void main(String[] args) 
    {
        System.out.println( "apple".compareTo("BANANA") );                     //31
        System.out.println( "apple".compareToIgnoreCase("banana") );            //-1
        
        System.out.println( "cherry".compareTo("cherry") );                     //0
        System.out.println( "cherry".compareToIgnoreCase("CHERRY") );           //0
    }
}

快乐学习!!

参考:字符串 Java 文档

地址:https://www.cundage.com/article/java-string-compareto-method.html

相关阅读

Java String equals() 方法用于将字符串与方法参数对象进行比较。 1.Java String.equals() 方法 /** * @param anObject - The ...
Java String compareToIgnoreCase() 方法按字典顺序比较两个字符串忽略大小写。此方法与 String.compareTo() 方法相同,除了 compareTo (...
Java String compareTo() 方法按字典顺序比较两个字符串。我们可以认为它是基于字典的比较。 1.字符串比较 如果字符串 'str1' 在字典中出现在另一个字符串 'str2'...
Java String equalsIgnoreCase() 方法用于比较字符串与方法参数对象,忽略案例考虑。 在 equalsIgnoreCase() 方法中,如果两个字符串的长度相同并且两个...
java.lang.String.charAt(int index) 方法返回 index 参数处的字符series/java-string/"&gtl;String 对象。 正如我们所知,Ja...
3 个使用 Long.parseLong(String)、Long.valueOf(String) 和 new Long(String) 构造函数将 String 转换为 long 值的 Jav...
要将整数转换为字符串,请使用String.valueOf() 或Integer.toString() 方法。 1. 将 int 转换为 String – String.valueOf() Str...
Java Comparator 接口用于对array 或 列表基于自定义排序顺序的对象。通过在对象中实现 Comparator 的 compare() 方法来实现项目的自定义排序。 1. 何时使...
学习使用 Float.toString() 和 String.valueOf() 方法将浮点值转换为字符串。学习将浮点数格式化为字符串到 n 个小数点。 1.Java将float转String ...
使用 String.split() 方法和使用 java.util.regex.Pattern 类将字符串转换为字符串数组的 Java 示例。 快速参考: //1. String to Stri...