Java-API简析_java.lang.Character类(基于 Latest JDK)(浅析源码)

news2025/2/11 9:03:15

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131178778
出自【进步*于辰的博客】

其实我的【Java-API】专栏内的博文对大家来说意义是不大的。因为暂且没有源码讲解,而且需要看Java-API,直接看Java-API文档就行了,也不用看博文。所以呢,这篇博文主要是写给我自己看的,也就是Java-API笔记。
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

  • 1、概述
  • 2、嵌套类摘要
    • 2.1 static class Character.Subset
    • 2.2 static class Character.UnicodeBlock
    • 3、字段摘要
    • 3.1 static byte COMBINING_SPACING_MARK
    • 3.2 static byte CONNECTOR_PUNCTUATION
    • 3.3 static byte CONTROL
    • 3.4 static byte CURRENCY_SYMBOL
    • 3.5 static byte DASH_PUNCTUATION

1、概述

在这里插入图片描述
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。

此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

字符信息基于 Unicode 标准,版本 4.0。

Character 类的方法和数据是通过 UnicodeData 文件中的信息定义的,该文件是 Unicode Consortium 维护的 Unicode Character Database 的一部分。此文件指定了各种属性,其中包括每个已定义 Unicode 代码点字符范围的名称和常规类别。

此文件及其描述可从 Unicode Consortium 获得,网址如下:
http://www.unicode.org

Unicode Character Representations

char 数据类型(和 Character 对象封装的值)基于原始的 Unicode 规范,将字符定义为固定宽度的 16 位实体。Unicode 标准曾做过修改,以允许那些其表示形式需要超过 16 位的字符。合法代码点 的范围现在是从 U+0000U+10FFFF,即通常所说的 Unicode 标量值。(请参阅 Unicode 标准中 U+n 表示法的定义。)

U+0000U+FFFF 的字符集有时也称为 Basic Multilingual Plane (BMP)。代码点大于 U+FFFF 的字符称为增补字符。Java 2 平台在 char 数组以及 String 和 StringBuffer 类中使用 UTF-16 表示形式。在这种表现形式中,增补字符表示为一对 char 值,第一个值取自 高代理项 范围,即 (\uD800-\uDBFF),第二个值取自 低代理项 范围,即 (\uDC00-\uDFFF)。

所以,char 值表示 Basic Multilingual Plane (BMP) 代码点,其中包括代理项代码点,或 UTF-16 编码的代码单元。int 值表示所有 Unicode 代码点,包括增补代码点。int 的 21 个低位(最低有效位)用于表示 Unicode 代码点,并且 11 个高位(最高有效位)必须为零。除非另有指定,否则与增补字符和代理项 char 值有关的行为如下:

  • 只接受一个 char 值的方法无法支持增补字符。它们将代理项字符范围内的 char 值视为未定义字符。例如,Character.isLetter('\uD840') 返回 false,即使是特定值,如果在字符串的后面跟着任何低代理项值,那么它将表示一个字母。
  • 接受一个 int 值的方法支持所有 Unicode 字符,其中包括增补字符。例如,Character.isLetter(0x2F81A) 返回 true,因为代码点值表示一个字母(一个 CJK 象形文字)。

在 J2SE API 文档中,Unicode 代码点 用于范围在 U+0000U+10FFFF 之间的字符值,而 Unicode 代码点 用于作为 UTF-16 编码的代码单元的 16 位 char 值。有关 Unicode 技术的详细信息,请参阅 Unicode Glossary。

从以下版本开始:
1.0
另请参见:
序列化表格

2、嵌套类摘要

2.1 static class Character.Subset

此类的实例表示 Unicode 字符集的特定子集。(暂未可知)

2.2 static class Character.UnicodeBlock

表示 Unicode 规范中字符块的一系列字符子集。(暂未可知)

3、字段摘要

3.1 static byte COMBINING_SPACING_MARK

Unicode 规范中的常规类别“Mc”。
说明:
先看源码。
在这里插入图片描述
暂未知其用途。

3.2 static byte CONNECTOR_PUNCTUATION

Unicode 规范中的常规类别“Pc”。
说明:
先看源码。
在这里插入图片描述

暂未知其用途。

3.3 static byte CONTROL

Unicode 规范中的常规类别“Cc”。
说明:
先看源码。
在这里插入图片描述

暂未知其用途。

3.4 static byte CURRENCY_SYMBOL

Unicode 规范中的常规类别“Sc”。
说明:
先看源码。
在这里插入图片描述

暂未知其用途。

3.5 static byte DASH_PUNCTUATION

Unicode 规范中的常规类别“Pd”。
说明:
先看源码。
在这里插入图片描述

暂未知其用途。


本文持续更新中。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/640279.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OJ: Digit Primes

目录 1.题目 2.中文翻译 3.代码 4.代码中部分程序段思路详解 4.1 素数判定高效率代码: ​编辑 4.2 最小的素数是 2 4.3 python中如何计算一个数各个位的和 1.题目 题目描述: A prime number is a positive number, which is divisible by exactly…

chatgpt赋能python:在Python中建立虚拟环境

在Python中建立虚拟环境 在Python编程中,建立虚拟环境是一项非常重要的工作。虚拟环境不仅可以避免不同版本的库之间的冲突,还可以使我们更好地控制项目的依赖关系。在本文中,我们将介绍如何使用Python建立虚拟环境。 第一步:安…

Jmeter参数化方式

前言:什么是参数化? 把测试数据组织起来,用不同的测试数据调用相同的测试方法(实现测试数据跟测试脚本分离)。 一、用户定义的变量: 1、作用:定义全局变量 2、局限性:每次取值都是…

chatgpt赋能python:Python建模型指南

Python建模型指南 Python是一种功能强大的编程语言,以其优雅的语法和丰富的库而闻名。而且,Python也是机器学习、人工智能和数据科学领域的首选语言之一。在本文中,我们将学习Python中如何建模型。 什么是建模? 建模是指使用统…

【MySQL数据库 | 第十七篇】索引以及索引结构介绍

目录 前言: 索引简介: 索引结构: 二叉树索引结构 Tree(普通二叉树) B-Tree(多路平衡查找树) BTree 哈希索引数据结构 总结: 前言: 在实际生活中,我们对SQL语句进行优化实际上有…

Linux,看这篇就够了

Linux 一、为什么要学linux二、目录介绍三、vi / vim编辑器四、网络配置4.1、修改 IP 地址4.2、配置主机名4.2.1、修改主机名称4.2.2、修改 hosts 映射文件 五、系统配置5.1、service 服务管理5.2、systemctl5.3、防火墙5.4、关机重启命令5.5、查看系统内核与版本 六、常用命令…

一分钟学一个 Linux 命令 - cat 和 tail

前言 大家好,我是 god23bin。今天我给大家带来的是 Linux 命令系列,每天只需一分钟,记住一个 Linux 命令不成问题。今天,需要你花费两分钟时间,因为我们要介绍的是两个常用的查看文件内容的命令:cat 和 ta…

动态规划-背包问题(三)

动态规划-背包问题(三) 1 描述2 样例2.1 样例 1:2.2 样例 2: 3 算法解题思路以及实现方法3.1 算法解题思路3.1.1 确定状态3.1.2 转移方程3.1.3 初始条件以及边界情况3.1.4 计算顺序 3.2 算法实现3.2.1 java实现的O(MN)算法复杂度3.2.2 C实现的O(MN)算法复…

Lua基本语法

目录 1 lua基础数据结构 2 Lua 变量 3 Lua 循环 3.1 Lua while 循环 3.2 Lua for 循环 数值for循环 泛型for循环 3.3 Lua repeat...until 循环 3.4 Lua 循环嵌套 3.5 循环控制语句 Lua break 语句 Lua goto 语句 4 Lua 流程控制 4.1 Lua if 语句 4.2 Lua if...else 语…

04-编织灵魂旋律:Golang 函数的魔力绽放

📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。G…

常见网络设备及其功能

1.常见网络设备及其功能 笔记来源: Computer network components and their functions 设备工作所在层隔离冲突域隔离广播域路由器(Router)网络层√√网桥(Bridge)数据链路层√交换机(Switch)数据链路层√中继器(Repeater)物理层集线器(Hub)物理层 1.1 路由器&…

chatgpt赋能python:Python并排输出数字——快速高效的实现技巧

Python并排输出数字——快速高效的实现技巧 在Python编程中,我们经常需要对数字进行输出,并排输出数字是一种非常常见的需求。比如说,我们需要将多个数据进行比较,或者需要将多个相关数据进行显示,等等。本文将介绍Py…

一.基于压缩感知(CS)的DOA估计方法-OMP-CS算法

阅读须知: 1.本文为本人原创作品仅供学习参考,未经过本人同意禁止转载和抄袭。 2.要想无障碍阅读本文需要一定的压缩感知理论以及压缩感知信号重构算法基础。 3.话不多说,直接开搞。 1 基于压缩感知DOA估计方法原理 假设有K个远场窄带信号…

dpdk21.11 编译(meson+ninja)及VFIO模块的加载和运行

目录 前言 安装前的环境配置 编译流程 1. 设置环境变量(好像也不需要了) 2. 构建dpdk 3. 编译 执行测试 1. 绑定vfio-pci 模块 2. 挂载网卡 3. 设置大页 4. 启动测试程序-testpmd 前言 操作系统:ubuntu22.04.2 LTS 内核版本&#…

深入理解 Java ServiceLoader、Dubbo ExtensionLoader 源码结合实战篇

介绍Java SPIDriver 实现类DriverManager 驱动管理器类loadInitialDrivers 方法registerDriver 方法getConnection 方法 ServiceLoader 核心类LazyIterator#hasNextService 方法LazyIterator#nextService 方法 Dubbo SPI加载策略FilterExtensionLoaderExtensionLoader#getExten…

框架篇面试详解

spring AOP AOP称为面向切面编程,用于将那些与业务无关,但却对多个对象产生影响的公共行为和逻辑,抽取并封装成为一个可重用的模块,这个模块被命名为“切面”(Aspect),减少系统中的重复代码&am…

02-舞动数据类型:Golang 类型定义的奇妙之旅

📃个人主页:个人主页 🔥系列专栏:Golang基础 💬Go(又称Golang)是由Google开发的开源编程语言。它结合了静态类型的安全性和动态语言的灵活性,拥有高效的并发编程能力和简洁的语法。G…

chatgpt赋能python:Python如何建设网页并实现客户端与服务器端的通信

Python如何建设网页并实现客户端与服务器端的通信 介绍 Python是一种流行的编程语言,被广泛应用于Web开发。在Web开发中,Python可以用来建立并联接网页与服务器端的通信。 这篇文章将介绍如何使用Python建立网页,并展示如何实现客户端与服…

Science Advance||个体脑中鲁棒的动态脑网络

文章目录 个体化动态方法(INSCAPE 方法):(A)生成脑共同激活状态的组模板:(B)个体水平分析: 不同的大脑状态有特定的协同激活模式(coactivation patterns&…

IntSet

基本概述 IntSet是Redis中set集合的一种实现方式,基于整数数组来实现,并且具备长度可变、有序等特征。 结构如下: typedef struct intset {uint32_t encoding; /* 编码方式,支持存放16位、32位、64位整数(4字节32比特…