在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
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
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
34
-1
📝总结
💡 Character类的charValue()方法用于获取对象表示的char类型值。
💡 getNumericValue(char ch)方法用于获取Unicode字符的数值。如果字符本身没有数值或者数值不是非负整数,则会返回特定的负值。