赞
踩
Character 类将基本类型 char 的值包装在对象中。 Character 类的对象包含一个类型为 char 的字段。
此外,此类提供了大量静态方法来确定字符的类别(小写字母,数字等),以及将字符从大写转换为小写等等。
char 数据类型(以及 Character 对象封装的值)基于原始 Unicode 规范,该规范将字符定义为固定宽度的 16 位实体。此后,对 Unicode 标准进行了更改,以允许其表示需要超过 16 位的字符。合法代码点的范围现在为 U + 0000 到 U + 10FFFF ,即 Unicode 标量值。代码点大于 U + FFFF 的字符称为补充字符。 Java 在 char 数组以及 String 和 StringBuffer 类中使用 UTF-16 表示形式。在此表示形式中,辅助字符表示为一对 char 值,第一个字符来自高代理范围(\ uD800- \ uDBFF),第二个字符来自低代理范围(\ uDC00- \ uDFFF)。关于代码点和代码单元可以点此了解详情
public final class Character implements java.io.Serializable, Comparable<Character> {
private final char value;
public static final int MIN_RADIX = 2;
public static final int MAX_RADIX = 36;
public static final char MIN_VALUE = '\u0000';
public static final char MAX_VALUE = '\uFFFF';
public static final Class<Character> TYPE = (Class<Character>) Class.getPrimitiveClass("char");
}
Character 类被 final 修饰,不可以被继承。实现了 Serializable 、Comparable 接口。
value 为常量,用于保存 Character 对象所表示的基本类型 char 型的数。
MIN_RADIX 可用于在字符串之间转换的最小进制数。
MAX_RADIX 可用于在字符串之间转换的最大进制数。
MIN_VALUE 是 char 类型的最小值。
MAX_VALUE 是 char 类型的最大值。
TYPE 是基本数据类型 char 所对应的 Class 对象。
public static final char MIN_HIGH_SURROGATE = '\uD800';
public static final char MAX_HIGH_SURROGATE = '\uDBFF';
public static final char MIN_LOW_SURROGATE = '\uDC00';
public static final char MAX_LOW_SURROGATE = '\uDFFF';
public static final char MIN_SURROGATE = MIN_HIGH_SURROGATE;
public static final char MAX_SURROGATE = MAX_LOW_SURROGATE;
public static final int MIN_SUPPLEMENTARY_CODE_POINT = 0x010000;
public static final int MIN_CODE_POINT = 0x000000;
public static final int MAX_CODE_POINT = 0X10FFFF;
MIN_HIGH_SURROGATE 是 Unicode 编码中高代理代码单元的最小值。
MAX_HIGH_SURROGATE 是 Unicode 编码中高代理代码单元的最大值。
MIN_LOW_SURROGATE 是 Unicode 编码中低代理代码单元的最小值。
MAX_LOW_SURROGATE 是 Unicode 编码中低代理代码单元的最大值。
MIN_SURROGATE 是 Unicode 编码中代理代码单元的最小值。
MAX_SURROGATE 是 Unicode 编码中代理代码单元的最大值。
MIN_SUPPLEMENTARY_CODE_POINT 是 Unicode 编码中补充代码点的最小值。
MIN_CODE_POINT 是 Unicode 编码中代码点的最小值。
MAX_CODE_POINT 是 Unicode 编码中代码点的最大值。
High-Surrogate Code Unit. A 16-bit code unit in the range D80016 to DBFF16, used in UTF-16 as the leading code unit of a surrogate pair. Also known as a leading surrogate. (See definition D72 in Section 3.8, Surrogates.)
翻译:高代理代码单元:D800到DBFF范围内的16位代码单元,在UTF-16中用作代理对的前导代码单元。也称为主要代理。
Low-Surrogate Code Unit. A 16-bit code unit in the range DC0016 to DFFF16, used in UTF-16 as the trailing code unit of a surrogate pair. Also known as a trailing surrogate. (See definition D74 in Section 3.8, Surrogates.)
翻译:低代理代码单元:在DC00到DFFF范围内的16位代码单元,在UTF-16中用作代理对的后面的代码单元。也称为后代理。
Character 类的构造方法很少使用,并且官方不推荐使用,推荐使用 valueOf(char) 方法。
静态内部类,并且是私有的。定义了一个静态常量数组 cache 用来存储常用的 ASCII 编码中的值。
在类中使用静态代码块初始化 cache 的值,size 的大小即为 ASCII 编码的数量加1,共128个。然后依次创建这些对象,并将其保存在 cache 中。避免了重复的创建常用对象,方便调用和回收。
注意:静态代码块只在类加载的时候执行一次。
private static class CharacterCache { private CharacterCache(){ } static final Character[] cache; static Character[] archivedCache; static { int size = 127 + 1; // Load and use the archived cache if it exists VM.initializeFromArchive(CharacterCache.class); if (archivedCache == null || archivedCache.length != size) { Character[] c = new Character[size]; for (int i = 0; i < size; i++) { c[i] = new Character((char) i); } archivedCache = c; } cache = archivedCache; } }
返回表示指定 char 值的 Character 实例。 如果小于等于127,则直接从缓存中读取,避免了对象的重复创建。否则,使用构造方法创建。
public static Character valueOf(char c) {
if (c <= 127) {
// must cache
return CharacterCache.cache[(int)c];
}
return new Character(c);
}
返回当前 Character 对象所对应的 char 类型的值。
public char charValue() {
return value;
}
返回指定 char 类型的值的哈希值,哈希值为 value 对应的十进制整数。
public static int hashCode(char value) {
return (int)value;
}
返回当前对象的哈希值。
public int hashCode() {
return Character.hashCode(value);
}
比较两个 Character 对象的值是否相等。
先判断需要比较的对象 obj 是否为 Character 类型。
public boolean equals(Object obj) {
if (obj instanceof Character) {
return value == ((Character)obj).charValue();
}
return false;
}
将该对象转换为 String 对象。
public String toString() {
char buf[] = {
value};
return String.valueOf(buf);
}
将给定的 char 型数据转换为 String 对象。
public static String toString(char c)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。