写在前面: 学生时代就如同一个个的打基础,幼儿园给小学打基础,小学给中学打基础。 学编程也是如此,学好基础,什么框架都不怕。
【读码JDK】java.lang包目录
该类文章主要就是介绍JDK API的描述和用法,可以当手册来查询
java.lang.Character类Api介绍及测试
valueOf
返回表示指定的char值的Character实例。 如果不需要新的Character实例,则通常应优先使用此方法,而不是构造函数Character(char) 因为此方法可能通过缓存频繁请求的值来显着提高空间和时间性能。
代码语言:javascript复制Character character = Character.valueOf('A');
Character character1 = 'A';
charValue
返回此对象表示的原始值 char
代码语言:javascript复制Character character = Character.valueOf('A');
char a = character.charValue();
hashCode
返回此Character的哈希码; 等于调用charValue()的结果
代码语言:javascript复制Character character = Character.valueOf('A');
int hashcode = character.hashCode();
char a = character.charValue();
assert hashcode == a; //true
toString
Unicode 和ASCII相关编码介绍:https://m.php.cn/faq/483053.html Code Point介绍:http://www.unicode.org/glossary/#code_point
代码语言:javascript复制Code Point.
(1) Any value in the Unicode codespace; that is, the range of integers from 0 to 10FFFF16. (See definition D10 in Section 3.4, Characters and Encoding.)
Not all code points are assigned to encoded characters. See code point type.
(2) A value, or position, for a character, in any coded character set.
代码语言:javascript复制/*
返回表示此Character值的String对象。 其结果是长度为1的串,其唯一分量是原始char由该表示值Character对象
*/
Character character = Character.valueOf('A');
System.out.println(character.toString());
/*
返回表示指定的char的String对象。 结果是一个长度为1的字符串,仅由指定的char
*/
System.out.println(Character.toString('A'));
/*
返回表示指定字符(Unicode代码点)的String对象。 结果是一个长度为1或2的字符串,仅由指定的codePoint
*/
int codePoint = (int) '哈';
System.out.println(codePoint); //21704 16进制为54C8,unicode为u54c8
System.out.println(Character.toString(codePoint)); //哈
isValidCodePoint
确定指定的代码点是否有效
true如果指定的代码点值介于Character.MIN_CODE_POINT(0x000000
) 和 Character.MAX_CODE_POINT(0X10FFFF
)之间; 否则为false
int codePoint = (int) '哈';
System.out.println(Character.isValidCodePoint(codePoint));
isBmpCodePoint
确定指定字符(Unicode 代码点)是否在基本多文种平面 (BMP)中。这样的代码点可以使用单个char来表示。 参形: codePoint – 要测试的字符(Unicode 代码点) 返回值: 如果指定的代码点介于MIN_VALUE(u0000)和MAX_VALUE(uFFFF)之间,则为true ;否则false 。
代码语言:javascript复制int codePoint = (int) '芏';
System.out.println(codePoint);
System.out.println(Character.isBmpCodePoint(codePoint));
System.out.println(Character.isBmpCodePoint(65535));
System.out.println(Character.isBmpCodePoint(65536));
/**
* 33423
* true
* true
* false
*/
isSupplementaryCodePoint
确定指定的字符(Unicode代码点)是否在 supplementary character(补充代码点)范围内
代码语言:javascript复制System.out.println(Character.isSupplementaryCodePoint(65533));
System.out.println(Character.isSupplementaryCodePoint(65536));
/**
* false
* true
*/
isHighSurrogate
确定给定的char值是否是Unicode 高代理代码单元 (也称为前导代理代码单元)。 这些值本身并不表示字符,而是用于表示 UTF-16 编码中的补充字符。 参形: ch - 要测试的char值。 返回值: true char值介于MIN_HIGH_SURROGATE(uD800)和MAX_HIGH_SURROGATE(uDBFF)之间,则为 true;否则false
代码语言:javascript复制System.out.println(Character.isHighSurrogate('uD800')); //true
isLowSurrogate
确定给定的char值是否是Unicode 低代理代码单元 (也称为尾部代理代码单元)。 这些值本身并不表示字符,而是用于表示 UTF-16 编码中的补充字符。 参形: ch - 要测试的char值。 返回值: true char值介于MIN_LOW_SURROGATE(uDC00)和MAX_LOW_SURROGATE(uDFFF)之间,则为 true;否则false 。
代码语言:javascript复制 System.out.println(Character.isLowSurrogate('uDC00')); //true
isSurrogate
确定给定的char值是否是 Unicode代理代码单元。 这些值本身并不表示字符,而是用于表示 UTF-16 编码中的补充字符。 char 值是代理代码单元当且仅当它是低代理代码单元或高代理代码单元。 参形: ch - 要测试的char值。 返回值: true char值介于MIN_SURROGATE(uD800)和MAX_SURROGATE(uDFFF)之间,则为 true;否则false 。
代码语言:javascript复制System.out.println(Character.isSurrogate('u1FFF')); //false
isSurrogatePair
确定指定的char值对是否是有效的Unicode 代理对 。 该方法等价于表达式: isHighSurrogate(high) && isLowSurrogate(low) 参形: high – 要测试的高代理代码值 low - 要测试的低代理代码值 返回值: true指定的高和低代理代码值表示有效的代理对,则为 true;否则false 。
代码语言:javascript复制System.out.println(Character.isSurrogatePair('uDBFF', 'uDC00')); //true
charCount
确定表示指定字符(Unicode 代码点)所需的char值的数量。如果指定字符等于或大于 0x10000(Unicode 补充码点 的最小值
),则该方法返回 2。否则,该方法返回 1。
此方法不会验证指定字符是否为有效的 Unicode 代码点。如有必要,调用者必须使用isValidCodePoint验证字符值。
参形:
codePoint – 要测试的字符(Unicode 代码点)。
返回值:
2 如果字符是有效的补充字符; 1 否则。
System.out.println(Character.isValidCodePoint('uDC00'));
System.out.println(Character.charCount('uDC00'));
/**
* true
* 1
*/
toCodePoint
将指定的代理对转换为其补充代码点值。此方法不验证指定的代理对。如有必要,调用者必须使用isSurrogatePair对其进行验证。 参形: high – 高代理代码单元 low - 低代理代码单元 返回值: 由指定代理对组成的补充代码点
代码语言:javascript复制System.out.println(Character.toCodePoint('uDBFF', 'uDC00'));
System.out.println(Character.toString(1113088));
/**
* 1113088
*