前言
在实际开发过程中,我们经常会遇到需要使用对象,而不是内置数据类型的情况。为了解决这个问题,Java语言为内置数据类型char提供了包装类Character类。
Character 类
Java语言为内置数据类型char提供了包装类Character类
Character类提供了一系列方法来操纵字符。你可以使用Character的构造方法创建一个Character类对象
Java Character 类用于表示字符(单个字符),其中每个字符都被赋以一个唯一的数字值。Character 类提供了许多实用的方法来操作和测试字符。
它用于表示单个字符的值,是 Java 编程中不可或缺的类之一
装箱(boxing)
装箱转换是指将一个值类型隐式地转换成一个object 类型,或者把这个值类型转换成一个被该值类型应用的接口类型interface-type。
把一个值类型的值装箱,也就是创建一个object 实例并将这个值复制给这个object。
拆箱(unboxing)
和装箱转换正好相反,拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口的值类型。
拆箱的过程分为两步:
- 检查这个对象实例,看它是否为给定的值类型的装箱值。
- 把这个实例的值拷贝给值类型的变量。
转义序列
转义序列是指以反斜线(\)开头的特殊字符序列,用来表示一些不能直接输入到代码中的字符或控制字符。
Java的转义序列
项目 | Value |
转义序列 | 描述 |
\t | 在文中该处插入一个tab键 |
\b | 在文中该处插入一个后退键 |
\n | 在文中该处换行 |
\r | 在文中该处插入回车 |
\f | 在文中该处插入换页符 |
’ | 在文中该处插入单引号 |
" | 在文中该处插入双引号 |
\ | 在文中该处插入反斜杠 |
实例
public class Test { public static void main(String[] args) { System.out.println("\"hello world!\""); } }
Character 方法
isDigit()
isDigit() 方法用于检查给定字符是否是数字:
char ch = '9'; boolean isDigit = Character.isDigit(ch); // 返回 true
isLetter()
isLetter() 方法用于检查给定字符是否是字母:
char ch = 'a'; boolean isLetter = Character.isLetter(ch); // 返回 true
isWhitespace()
isWhitespace() 方法用于检查给定字符是否是空格:
char ch = ' '; boolean isWhitespace = Character.isWhitespace(ch); // 返回 true
toUpperCase()
toUpperCase() 方法用于将给定字符转换为大写:
char ch = 'a'; char upperCaseCh = Character.toUpperCase(ch); // 返回 'A'
toLowerCase()
toLowerCase() 方法用于将给定字符转换为小写:
char ch = 'A'; char lowerCaseCh = Character.toLowerCase(ch); // 返回 'a'
compareTo()
compareTo() 方法比较两个字符的大小,如果相等则返回 0,如果第一个字符大于第二个字符则返回正整数,否则返回负整数。
char ch1 = 'a'; char ch2 = 'b'; int result = Character.compareTo(ch1, ch2); // 返回 -1
isAlphabetic()
isAlphabetic() 方法用于检查给定字符是否是字母(包括大写字母和小写字母):
char ch = 'a'; boolean isAlphabetic = Character.isAlphabetic(ch); // 返回 true
isUpperCase()
isUpperCase() 方法用于检查给定字符是否是大写字母:
char ch = 'A'; boolean isUpperCase = Character.isUpperCase(ch); // 返回 true
isLowerCase()
isLowerCase() 方法用于检查给定字符是否是小写字母:
char ch = 'a'; boolean isLowerCase = Character.isLowerCase(ch); // 返回 true
isLetterOrDigit()
isLetterOrDigit() 方法用于检查给定字符是否是字母或数字:
char ch = 'a'; boolean isLetterOrDigit = Character.isLetterOrDigit(ch); // 返回 true
isJavaIdentifierStart()
isJavaIdentifierStart() 方法用于检查给定字符是否可以作为 Java 标识符的第一个字符:
char ch = '_'; boolean isJavaIdentifierStart = Character.isJavaIdentifierStart(ch); // 返回 true
isJavaIdentifierPart()
isJavaIdentifierPart() 方法用于检查给定字符是否可以作为 Java 标识符的一部分:
char ch = '1'; boolean isJavaIdentifierPart = Character.isJavaIdentifierPart(ch); // 返回 true
digit()
digit() 方法用于将一个字符转换为一个整数值。第一个参数为要转换的字符,第二个参数为要使用的基数。如果字符不是数字,则返回 -1。
char ch = '9'; int digit = Character.digit(ch, 10); // 返回 9
getNumericValue()
getNumericValue() 方法用于获取给定字符的数值。如果字符不是数字,则返回 -1。
char ch = '9'; int numericValue = Character.getNumericValue(ch); // 返回 9
reverseBytes()
reverseBytes() 方法用于将给定字符的字节顺序反转。
char ch = 'a'; char reversedBytesCh = Character.reverseBytes(ch); // 返回 '�'
isWhitespace()
isWhitespace() 方法用于判断字符是否为空格,包括空格、制表符、换行符等。
char ch = ' '; boolean isWhitespace = Character.isWhitespace(ch); // 返回 true
isJavaIdentifier()
isJavaIdentifier() 方法用于检查给定字符串是否是合法的 Java 标识符,即第一个字符是字母、下划线或美元符号,后面的字符可以是字母、数字、下划线或美元符号。
String str = "hello_world"; boolean isJavaIdentifier = Character.isJavaIdentifier(str.charAt(0)) && str.chars().skip(1).allMatch(Character::isJavaIdentifierPart); // 返回 true