【读码JDK】- java.lang.Character类Api介绍及测试

2022-12-02 16:44:24 浏览数 (2)

写在前面: 学生时代就如同一个个的打基础,幼儿园给小学打基础,小学给中学打基础。 学编程也是如此,学好基础,什么框架都不怕。

【读码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

代码语言:javascript复制
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 否则。

代码语言:javascript复制
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
 * 


	

0 人点赞