在Java中比较字符Character对象

在Java中,Character类提供了compareTo()和equals()方法来比较Character对象。

compareTo()方法 比较字符对象

根据字符的数值顺序比较两个Character对象。

✍方法声明

public int compareTo(Character anotherCharacter);

  • 📥入参:anotherCharacter为要比较的Character。
  • 🪐返回值:
    • 如果Character等于Character,则返回0;
    • 如果该Character的数值小于参数Character,则返回小于0的值;
    • 如果该Character的数值大于参数Character,则返回大于0的值(有符号比较)。

下面代码创建Character对象cl和c2,并通过Character类的compare()方法判断对象c1和c2的大小。

    public static void main(String[] args) {
        Character c1 = new Character('1');
        Character c2 = Character.valueOf('A');
        Character c3 = Character.valueOf('9');
        int compare12 = c1.compareTo(c2);
        int compare13 = c1.compareTo(c3);
        int compare31 = c3.compareTo(c1);
        System.out.println(compare12);
        System.out.println(compare13);
        System.out.println(compare31);
    }

其中 1 对应的ASCII码为 49 ,A 对应的ASCII码为 65,9 对应的ASCII码为 57。

-16
-8
8

equals()方法 判断字符对象相等

检查此Character对象与另一个对象是否相等。当且仅当参数不是null,而且是一个与此对象包含相同char值的Character对象时,结果才是true。

✍方法声明

public boolean equals(Object obj)

  • 📥入参:obj为要比较的对象。
  • 🪐返回值:当且仅当参数不是null,而是一个与此对象包含相同char值的Character对象时,结果才是true。

下面代码创建Character和String对象,通过equals进行比较,将比较的结果赋给b并输出。当且仅当参数不是null,而是一个与此对象包含相同char值的Character对象时,结果才是true。所以c.equals(s)为false。

    public static void main(String[] args) {
        Character c1 = new Character('1');
        Character c2 = Character.valueOf('1');
        Character c3 = Character.valueOf('A');
        boolean bool1 = c1.equals(c2);
        boolean bool2 = c1.equals(c3);
        System.out.println(bool1);
        System.out.println(bool2);
    }
true
false

📝总结

Character类的compareTo()方法用于数值比较两个Character对象,它基于字符的Unicode值进行比较。

equals()方法用于判断两个Character对象是否表示相同的字符值。注意,Character对象与String对象的比较通常是不相等的,除非String对象只包含一个字符。

转载请注明出处:码谱记录 » 在Java中比较字符Character对象
标签: