Java.lang Character
精华
小牛编辑
143浏览
2023-03-14
1 Java.lang Character介绍
Character类通常将所有基本类型char的值包装到一个对象中。字符类型的任何对象都可以包含一个类型为char的字段。
字符类的所有字段,方法和构造函数均由Unicode数据文件指定,该文件特别是Unicode字符数据库的一部分,并由Unicode联盟维护。
从U+0000到U+FFFF的一组字符有时被称为基本多语言平面(即BMP)。代码点大于U+FFFF的字符称为补充字符。Java语言通常使用UTF-16编码方法来表示String或String Buffer中的char数组。在这种表示形式中,辅助字符表示为一对字符,第一个字符来自高代理范围(\uD800-\uDBFF),第二个字符来自低代理范围(\uDc00-\uDBFF)。
2 Java.lang Character声明
public final class Character
extends Object
implements Serializable, Comparable<Character>
3 Java.lang Character方法
方法 | 描述 |
---|---|
static int charCount(int codePoint) | 此方法确定表示指定字符所需的字符的值的数目(Unicode代码点)。 |
char charValue() | 此方法返回字符对象的值。 |
static int codePointAt(char[] a, int index) | 此方法返回char数组的给定索引上的代码点。 |
static int codePointAt(char[] a, int index, int limit) | 此方法返回的字符数组,只能用于数组元素与指数低于上限的定索引上的代码点。 |
static int codePointAt(CharSequence seq, int index) | 此方法返回CharSequence给定索引上的代码点。 |
static int codePointBefore(char[] a, int index) | 此方法返回char数组的给定索引前面的代码点。 |
static int codePointBefore(char[] a, int index, int start) | 此方法返回字符数组,其中仅可用于数组元素与指数大于或等于开始的给定索引前面的代码点。 |
static int codePointBefore(CharSequence seq, int index) | 此方法返回CharSequence给定索引前面的代码点。 |
static int codePointCount(char[] a, int offset, int count) | 该方法在char数组参数的一个子返回的Unicode代码点的数量 |
static int codePointCount(CharSequence seq, int beginIndex, int endIndex) | 该方法在指定的字符序列的文本范围返回的Unicode代码点的数量。 |
int compareTo(Character anotherCharacter) | 该方法在数字上比较两个字符的对象。 |
static int digit(char ch, int radix) | 此方法返回指定基数字符ch的数值。 |
static int digit(int codePoint, int radix) | 此方法返回指定基数指定字符(Unicode代码点)的数值。 |
boolean equals(Object obj) | 该方法此对象与指定对象比较 |
static char forDigit(int digit, int radix) | 此方法确定的指定基数的特定数字的字符表示。 |
static byte getDirectionality(char ch) | 此方法返回给定字符的Unicode的方向属性。 |
static byte getDirectionality(int codePoint) | 该方法返回给定字符(Unicode代码点)的Unicode方向属性。 |
static int getNumericValue(char ch) | 此方法返回指定的Unicode字符表示的int值。 |
static int getNumericValue(int codePoint) | 此方法返回int值指定的字符(Unicode代码点)表示。 |
static int getType(char ch) | 此方法返回一个值,表明一个字符的普通类。 |
static int getType(int codePoint) | 此方法返回一个值,表明一个字符的普通类。 |
int hashCode() | 此方法返回这个字符的哈希码。 |
static boolean isDefined(char ch) | 此方法确定字符是否为Unicode定义。 |
static boolean isDefined(int codePoint) | 该方法确定的字符(Unicode代码点)在Unicode中定义。 |
static boolean isDigit(char ch) | 此方法确定指定字符是否一个数字。 |
static boolean isDigit(int codePoint) | 此方法确定指定字符(Unicode代码点)是其中一位。 |
static boolean isHighSurrogate(char ch) | 该方法判断给定char值是高代理项代码单元(也称为主导代理项代码单元)。 |
static boolean isIdentifierIgnorable(char ch) | 此方法确定指定字符是否应该被视为一个可忽略的字符在Java标识符或Unicode标识符。 |
static boolean isIdentifierIgnorable(int codePoint) | 此方法确定指定字符(Unicode代码点)应被视为一个可忽略的字符在Java标识符或Unicode标识符。 |
static boolean isISOControl(char ch) | 此方法确定指定字符是否ISO控制字符。 |
static boolean isISOControl(int codePoint) | 此方法确定引用的字符(Unicode代码点)是一家通过ISO控制字符。 |
static boolean isJavaIdentifierPart(char ch) | 该方法确定指定的字符可能是Java标识符中除首字符以外的部分。 |
static boolean isJavaIdentifierPart(int codePoint) | 该方法确定的字符(Unicode代码点)可能是Java标识符中除首字符以外的部分。 |
static boolean isJavaIdentifierStart(char ch) | 此方法确定指定字符是否允许在Java标识符的第一个字符。 |
static boolean isJavaIdentifierStart(int codePoint) | 该方法确定的字符(Unicode代码点)是否允许在Java标识符的第一个字符。 |
static boolean isLetter(char ch) | 此方法确定指定字符是否一个字母。 |
static boolean isLetter(int codePoint) | 此方法确定指定字符(Unicode代码点)是一个字母。 |
static boolean isLetterOrDigit(char ch) | 此方法确定指定字符是字母或数字。 |
static boolean isLetterOrDigit(int codePoint) | 此方法确定指定字符(Unicode代码点)是一个字母或数字。 |
static boolean isLowerCase(char ch) | 此方法确定指定字符是否为小写字母。 |
static boolean isLowerCase(int codePoint) | 此方法确定指定字符(Unicode代码点)是否为小写字母。 |
static boolean isLowSurrogate(char ch) | 该方法判断给定char值是低代理项代码单元(也称为尾部代理项代码单元)。 |
static boolean isMirrored(char ch) | 此方法确定按照Unicode规范的字符是否为镜像。 |
static boolean isMirrored(int codePoint) | 此方法确定指定字符(Unicode代码点)是否按照Unicode规范镜像。 |
static boolean isSpaceChar(char ch) | 此方法确定指定字符是否为Unicode空白字符。 |
static boolean isSpaceChar(int codePoint) | 此方法确定指定字符(Unicode代码点)是一个Unicode空格字符。 |
static boolean isSupplementaryCodePoint(int codePoint) | 此方法确定指定字符(Unicode代码点)是否在补充字符范围。 |
static boolean isSurrogatePair(char high, char low) | 此方法确定指定对char值是否一个有效的代理对。 |
static boolean isTitleCase(char ch) | 此方法确定指定字符是否是首字母大写字符。 |
static boolean isTitleCase(int codePoint) | 此方法确定指定字符(Unicode代码点)是一个首字母大写字符。 |
static boolean isUnicodeIdentifierPart(char ch) | 此方法确定指定字符可以是Unicode标识符中除首字符以外的部分。 |
static boolean isUnicodeIdentifierPart(int codePoint) | 此方法确定指定字符(Unicode代码点)可能是Unicode标识符中除首字符以外的部分。 |
static boolean isUnicodeIdentifierStart(char ch) | 此方法确定指定字符是否是允许作为Unicode标识符的第一个字符。 |
static boolean isUnicodeIdentifierStart(int codePoint) | 此方法确定指定字符(Unicode代码点)是允许作为Unicode标识符的第一个字符。 |
static boolean isUpperCase(char ch) | 此方法确定指定字符是否是大写字符。 |
static boolean isUpperCase(int codePoint) | 此方法确定指定字符(Unicode代码点)是一个大写字母。 |
static boolean isValidCodePoint(int codePoint) | 此方法确定指定的代码点是否为0x0000〜0x10FFFF之间包容的范围内有效的Unicode代码点值。 |
static boolean isWhitespace(char ch) | 此方法确定指定字符是否是根据Java的空白符。 |
static boolean isWhitespace(int codePoint) | 此方法确定指定字符(Unicode代码点)是根据Java的空白符。 |
static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) | 此方法返回从给定指数codePointOffset码点的偏移给定的字符子数组中的索引 |
static int offsetByCodePoints(CharSequence seq, int index, int codePointOffset) | 此方法返回给定字符序列从给定的指数codePointOffset码点偏移中的索引。 |
static char reverseBytes(char ch) | 此方法返回通过反转指定char值的字节的顺序而获得的值。 |
static char[] toChars(int codePoint) | 该方法将指定字符(Unicode代码点)到其存储在一个字符数组的UTF-16表示形式。 |
static int toChars(int codePoint, char[] dst, int dstIndex) | 该方法将指定字符(Unicode代码点)其UTF-16表示形式。 |
static int toCodePoint(char high, char low) | 该方法指定的代理对到其增补代码点值转换。 |
static char toLowerCase(char ch) | 该方法的参数字符使用来自UnicodeData文件的大小写映射信息转换成小写。 |
static int toLowerCase(int codePoint) | 此方法转换的字符(Unicode代码点)参数使用来自UnicodeData文件的大小写映射信息为小写。 |
String toString() | 该方法返回一个代表该字符的值的String对象。 |
static String toString(char c) | 此方法返回一个表示指定字符的String对象。 |
static char toTitleCase(char ch) | 该方法的参数字符使用来自UnicodeData文件的大小写映射信息标题字符转换。 |
static int toTitleCase(int codePoint) | 此方法转换的字符(Unicode代码点)参数使用来自UnicodeData文件的大小写映射信息标题字符。 |
static char toUpperCase(char ch) | 该方法的参数字符使用来自UnicodeData文件的大小写映射信息转换为大写。 |
static int toUpperCase(int codePoint) | 此方法转换的字符(Unicode代码点)参数使用来自UnicodeData文件的大小写映射信息为大写。 |
static Character valueOf(char c) | 此方法返回一个表示指定字符值的字符实例。 |
4 Java.lang Character案例1
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
import java.util.Scanner;
public class JavaCharacterExample1 {
public static void main(String[] args) {
// Ask the user for the first input.
System.out.print("Enter the first input:");
// Use the Scanner class to get the user input.
Scanner scanner = new Scanner(System.in);
// Gets the user input.
char[] value1 = scanner.nextLine().toCharArray();
int result1 = 0;
// Count the characters for a specific character.
for (char ch1 : value1) {
result1 = Character.charCount(ch1);
}
// Print the result.
System.out.print("The value comes to: "+result1+"\n");
System.out.print("Enter the second input:");
char[] value2 = scanner.nextLine().toCharArray();
for (char ch2 : value2) {
int result2 = Character.hashCode(ch2);
System.out.print("The hash code for the character '"+ch2+"' is given as:"+result2+"\n");
}
System.out.print("Enter the third input:");
char[] value3 = scanner.nextLine().toCharArray();
for (char ch3 : value3) {
boolean result3 = Character.isDigit(ch3);
if(result3){
System.out.println("The character '" + ch3 + "' is a digit. ");
}
else{
System.out.println("The character '" + ch3 + "' is not a digit.");
}
System.out.print("Enter the fourth input:");
char[] value4 = scanner.nextLine().toCharArray();
for (char ch4 : value4) {
boolean result4 = Character.isISOControl(ch4);
System.out.println("The fourth character '"+ch4+"' is an ISO Control:"+result4);
}
}
}
}
输出结果为:
Enter the first input:89
The value comes to: 1
Enter the second input:J
The hash code for the character 'J' is given as:74
Enter the third input:5
The character '5' is a digit.
Enter the fourth input:h
The fourth character 'h' is an ISO Control:false
5 Java.lang Character案例2
public class JavaCharacterExample2{
public static void main(String[] args) {
// Create four char primitives ch1, ch2, ch3 and ch4.
char ch1, ch2, ch3, ch4;
// Assign the values to ch1, ch2, ch3 and ch4.
ch1 = 'T';
ch2 = 'k';
ch3 = '\n';
ch4 = 'G';
// Create four boolean primitives b1, b2, b3 and b4.
boolean b1, b2, b3,b4;
// Assign the results to b1, b2, b3 and b4.
b1 = Character.isLetter(ch1);
b2 = Character.isLowerCase(ch2);
b3 = Character.isSpace(ch3);
b4 = Character.isDefined(ch3);
String str1 = " The first character is a letter: " + b1;
String str2 = " The second character is a lower-case: " + b2;
String str3 = " The third character is for space: " + b3;
String str4 = " The fourth character is defined in Java identifier: " + b3;
// Print the values of b1, b2, b3 and b4.
System.out.println( str1 );
System.out.println( str2 );
System.out.println( str3 );
System.out.println( str3 );
}
}
输出结果为:
The first character is a letter: true
The second character is a lower-case: true
The third character has a space: true
The third character has a space: true