Character 類別包裝基本型別 char,提供靜態方法操作單一字元。自動裝箱/拆箱讓 char 與 Character 互轉無感。
char ch = 'a';
char uniChar = '\u039A'; // Unicode 碼點
char[] arr = {'a','b','c','d','e'};
// 裝箱
Character cObj = 'a'; // 自動裝箱
Character cObj2 = Character.valueOf('b'); // 靜態工廠(可快取)
// 拆箱
char c = cObj; // 自動拆箱
char c2 = cObj.charValue();
| 序列 | 含義 |
|---|---|
\t | Tab 鍵 |
\b | 退格鍵 |
\n | 換行 |
\r | 回車 |
\f | 換頁 |
\' | 單引號 |
\" | 雙引號 |
\\ | 反斜線 |
System.out.println("訪問\"菜鳥教程!\""); // 訪問"菜鳥教程!"
| 方法 | 說明 | 範例 |
|---|---|---|
isLetter(ch) | 是否字母 | isLetter('中') → true |
isDigit(ch) | 是否數字 0-9 | isDigit('9') → true |
isWhitespace(ch) | 是否空白字元 | isWhitespace('\t') → true |
isUpperCase(ch) | 是否大寫 | isUpperCase('A') → true |
isLowerCase(ch) | 是否小寫 | isLowerCase('z') → true |
toUpperCase(ch) | 轉大寫 | toUpperCase('a') → 'A' |
toLowerCase(ch) | 轉小寫 | toLowerCase('Z') → 'z' |
toString(ch) | 轉長度 1 字串 | toString('x') → "x" |
isLetterOrDigit(ch) | 字母或數字 | |
isJavaIdentifierStart(ch) | 合法 Java 標識符首字元 | |
isJavaIdentifierPart(ch) | 合法 Java 標識符後續字元 | |
getNumericValue(ch) | 字元數值(如羅馬數字) | |
forDigit(int, radix) | 指定基數下的數字字元 | forDigit(10,16) → 'a' |
注意: 以上方法均為static,直接Character.isLetter('a')呼叫。完整 API 請參考java.lang.Character文件。
char 為 UTF-16 代碼單元(16 位),無法直接表示超出 BMP(基本多語言平面)的字元(需用 int 碼點)。Java 提供 Character 碼點相關方法:
codePointAt(CharSequence, index)codePointCount(seq, begin, end)toChars(codePoint) 返回 char[]charCount(codePoint) 返回 1 或 2處理 Emoji、生僻字時請使用碼點 API,避免誤判。