字符对象 Character 与其他类型转换

在Java中,Character类提供了一些方法来获取Character对象的基本值或者数值。

charValue()方法 获取char值

Character类的charValue()方法用于获取Character对象表示的char值。

✍方法声明

public char charValue();

  • 🪐返回值:此对象表示的基本char值。
    public static void main(String[] args) {
        Character ch = Character.valueOf('A');
        char c = ch.charValue();
        System.out.println(ch);
        System.out.println(c);
    }
A
A

getNumericValue()方法 返回字符表示的int值

返回指定的Unicode字符表示的int值。

✍方法声明

public static int getNumericValue(char ch)

  • 📥入参:ch为要转换的字符。
  • 🪐返回值:返回指定的Unicode字符表示的int值。

字母A~Z的大写(\u0041\u005A)小写(\u0061\u007A)和全形参数(\uFF21\uFF3A\uFF41\uFF5A)形式拥有10~35的数值。这独立于Unicode规范,该规范没有为这些char值分配数值。

如果字符中没有数值,则返回-1。如果字符中有一个数值,但无法将它表示为非负整数(例如,小数值),则返回-2。
此方法无法处理增补字符。若要支持所有Unicode字符,包括增补字符,请使用getNumericValue(int)方法。

    public static void main(String[] args) {
        int i1 = Character.getNumericValue('A');
        int i2 = Character.getNumericValue('1');
        int i3 = Character.getNumericValue('好');
        int i4 = Character.getNumericValue('\u00BC');
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
        System.out.println(i4);
    }

在 Unicode 中,‘A’表示数字 10。

10
1
-1
-2

✍方法声明

返回指定的Unicode字符表示的int值。

public static int getNumericValue(int codePoint)

  • 📥入参:codePoint为要转换的字符(Unicode代码点)。
  • 🪐返回值:以非负it值形式返回字符的数值;如果字符中有一个不是非负整数的数值,则返回-2:如果字符中没有数值,则返回-1。
    public static void main(String[] args) {
        int i1 = Character.getNumericValue(1);
        int i2 = Character.getNumericValue(89);
        int i3 = Character.getNumericValue(123);
        System.out.println(i1);
        System.out.println(i2);
        System.out.println(i3);
    }
-1
34
-1

📝总结

💡 Character类的charValue()方法用于获取对象表示的char类型值。
💡 getNumericValue(char ch)方法用于获取Unicode字符的数值。如果字符本身没有数值或者数值不是非负整数,则会返回特定的负值。

转载请注明出处:码谱记录 » 字符对象 Character 与其他类型转换
标签: