JDK源码阅读——java.lang.Character

本文详细探讨了`java.lang.Character`类,包括它的概述、UML类图、源码解析、内部类Subset和UnicodeBlock,以及枚举UnicodeScript的使用。通过实例展示了Character类在处理字符分类和转换上的功能。
摘要由CSDN通过智能技术生成

Character

1.概述

public final class Characterextends Objectimplements Serializable, Comparable<Character>Character
类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。
此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

2.此类的UML类图

这里写图片描述
这里写图片描述
因为 UnicodeScript 是enum 类,所以继承抽象的Enum类。

3.源码解析

源码太多了,就捡几个不太常用的来讲。

/**
* 判断是否为BMP代码点
* 从 U+0000 到 U+FFFF 的字符集有时也称为 Basic Multilingual Plane (BMP)
*/
 public static boolean isBmpCodePoint(int codePoint) {
        return codePoint >>> 16 == 0;
        // Optimized form of:
        //     codePoint >= MIN_VALUE && codePoint <= MAX_VALUE
        // We consistently use logical shift (>>>) to facilitate
        // additional runtime optimizations.
    }
    /**
    * 确定使用指定基数的特定数字的字符表示形式。
    *
    */
    public static char forDigit(int digit, int radix) {
        // 只要一个为ture就为true
        if ((digit >= radix) || (digit < 0)) {
            return '\0';
        //    radix<2 或者 radix>36
        if ((radix < Character.MIN_RADIX) || (radix > Character.MAX_RADIX)) {
            return '\0';
        }
        if (digit < 10) {
            return (char)('0' + digit);
        }
        return
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值