在Java中,提供了多种方法用于Character类中判断字符类型的方法。
isDefined() 判断是否为 Unicode 字符
确定字符是否被定义为Unicode中的字符。
✍方法声明
public static boolean isDefined(char ch)
- 📥入参:ch为要测试的字符。
- 🪐返回值:如果字符具有为Unicode中字符定义的含义,则返回true;否则返false。
本示例通过isDefined()方法输出了字符是否被定义为Unicode中的字符的布尔值。
public static void main(String[] args) {
boolean bool1 = Character.isDefined('A');
boolean bool2 = Character.isDefined('我');
boolean bool3 = Character.isDefined('#');
boolean bool4 = Character.isDefined('\uFFFF');
System.out.println(bool1);
System.out.println(bool2);
System.out.println(bool3);
System.out.println(bool4);
}
true
true
false
✍方法声明
public static boolean isDefined(int codePoint)
- 📥入参:codePoint为要测试的字符(Unicode代码点)。
- 🪐返回值:如果字符具有为Unicode中字符定义的含义,则返回true;否则返false。
确定字符(Unicode代码点)是否被定义为Unicode中的字符。
下面代码通过isDefined()方法输出了代码点是否被定义为Unicode中的字符的布尔值。
public static void main(String[] args) {
boolean a = Character.isDefined(12);
boolean b = Character.isDefined(123456);
System.out.println("12 is defined " + a);
System.out.println("123456 is defined " + b);
}
123456 is defined false
isDigit() 判断是否为数字字符
检测指定字符是否为数字。如果字符为数字,则返回true;否则返回false。
✍方法声明
public static boolean isDigit(char ch);
- 📥入参:ch为要检测的字符。
- 🪐返回值:如果字符为数字,则返回true;否则返回false。
此方法无法处理增补字符。若要支持所有Unicode字符,包括增补字特,请使用isDigit(int)方法。
public static void main(String[] args) {
boolean b1 = Character.isDigit('5');
boolean b2 = Character.isDigit('K');
System.out.println(b1);
System.out.println(b2);
}
false
✍方法声明
判断指定字符(Unicode代码点)是否为数字。如果通过getType(codePoint)提供的字符的常规类别类型为DECIMAL_DIGIT_NUMBER
,则字符为数字。
public static boolean isDigit(int codePoint);
- 📥入参:codePoint为要测试的字符(Unicode代码点)。
- 🪐返回值:如果字符为数字,则返回true;否则返回false。
public static void main(String[] args) {
boolean b1 = Character.isDigit(55);
boolean b2 = Character.isDigit(77);
System.out.println(b1);
System.out.println(b2);
}
这里的55实际上是 ‘6’,数字 77 代表的是‘M’。想要获取字符的Unicode代码点,可以通过方法 Character.codePointAt("M", 0);
获得。
false
isLetter() 判断是否为字母字符
该方法用于判断参数字符是否为字母。
✍方法声明
public static boolean isLetter(char ch)
- 📥入参:ch为要测试的字符。
- 🪐返回值:如果字符为字母,则返回true;否则返回false。
public static void main(String[] args) {
boolean b1 = Character.isLetter('5');
boolean b2 = Character.isLetter('K');
System.out.println(b1);
System.out.println(b2);
}
true
✍方法声明
该方法用于判断参数字符(Unicode代码点)是否为字母。
public static boolean isLetter(int codePoint);
- 📥入参:codePoint为要测试的字符(Unicode代码点)。
- 🪐返回值:如果字符为字母,则返回true;否则返回false。
public static void main(String[] args) {
// get unicode codepoint
int five = Character.codePointAt("5", 0);
int kg = Character.codePointAt("K", 0);
System.out.println(five);
System.out.println(kg);
boolean b1 = Character.isLetter(53);
boolean b2 = Character.isLetter(75);
System.out.println(b1);
System.out.println(b2);
}
75
false
true
isLowerCase() 判断是否为小写字符
该方法用于判断指定字符是否为小写字母。
✍方法声明
public static boolean isLowerCase(char ch)
- 📥入参:ch为要测试的字符。
- 🪐返回值:如果字符为小写,则返回true;否则返回false。
下面代码通过Character类的isLowerCase()方法,判断字符是否为小写字母,并将结果输出。
public static void main(String[] args) {
boolean b1 = Character.isLowerCase('M');
boolean b2 = Character.isLowerCase('a');
boolean b3 = Character.isLowerCase('5');
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
}
true
false
isUpperCase() 判断是否为大写字符
该方法用于判断指定字符是否为大写字母。
✍方法声明
public static boolean isUpperCase(char ch);
- 📥入参:ch为要测试的字符。
- 🪐返回值:如果字符为大写字母,则返回true;否则返回false。
本示例通过Character类的isUpperCase()方法,判断字符是否为大写字母,并将结果输出。
public static void main(String[] args) {
boolean b1 = Character.isUpperCase('M');
boolean b2 = Character.isUpperCase('a');
boolean b3 = Character.isUpperCase('5');
System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
}
false
false
📝总结
💡 Character类提供了多种静态方法来检查字符的类别,包括是否为定义的字符、数字、字母、小写字母或大写字母。
💡 这些方法通常接受char类型的参数,但有些方法也有重载版本可以接受int类型的Unicode代码点。
💡 使用这些方法时,应注意参数的类型和方法的返回值,以确保正确地判断字符的类别。