从底层重学 Java 之 Character 字符型 Gitchat连接

Gitchat连接

https://gitbook.cn/gitchat/activity/5f50804bbe67a5348a9b2c91

简介

从底层,从原理,我们来重学一次 Java。Character 是char(字符)的封装类,是String用于字符存储的类型,他的源码及实现是怎样的呢?

本系列秉承所有结论尽量从源码中来,没有源码的尽量标明出处。相关源码会附着在文章中,读本文即可,不用再自行查找源码及资料学习,方便大家充分利用路上的碎片时间。

本篇 Chat 对Character的属性、构造函数、字符数据等进行逐一源码分析,帮助大家深入理解和学习 JDK 源码。

本文包含以下内容:

  • 类信息
    • 类的定义
    • 类的继承结构
  • 常量
    • 进制数范围
    • char类型值域
    • UTF-16编码范围
    • Unicode码位范围
    • 基本类型
    • 一般类别
    • 位数、字节数
  • Subset
  • UnicodeBlock
    • 类定义
    • map
    • 构造函数
    • 各块静态常量
    • blockStarts
    • blocks
    • of(char c)
    • of(int codePoint)
    • forName(String blockName)
  • UnicodeScript
    • scriptStarts
    • scripts
    • aliases(别名)
    • of(int codePoint)
      • Character.isValidCodePoint(int codePoint)
      • Character.getType(int codePoint)
      • CharacterData.of(int ch)
      • CharacterDataLatin1
      • Arrays.binarySearch(int[] a, int key)
    • forName(String scriptName)
  • value属性
  • 构造函数
  • CharacterCache
  • valueOf
  • charValue
  • hashCode
  • equals
  • toString
    • toString()
      • String.valueOf(char data[])
      • String的String(char value[])构造函数
      • Arrays.copyOf(char[] original, int newLength)
    • toString(char c)
      • String.valueOf(char c)
      • String(char[] value, boolean share)
    • 比较两者
  • 几个判断函数
    • isValidCodePoint(int codePoint)
    • isBmpCodePoint(int codePoint)
    • isSupplementaryCodePoint(int codePoint)
    • isHighSurrogate(char ch)
    • isLowSurrogate(char ch)
    • isSurrogate(char ch)
    • isSurrogatePair(char high, char low)
  • charCount(int codePoint)
  • 大小写判断
    • 小写判断
    • 大写判断
  • 大小写转换
    • 转小写
      • toLowerCase(char ch)
      • toLowerCase(int codePoint)
    • 转大写
      • toUpperCase(char ch)
      • toUpperCase(int codePoint)
      • CharacterDataLatin1.toUpperCase(int ch)
  • UTF-16处理
    • toSurrogates(int codePoint, char[] dst, int index)
    • highSurrogate(int codePoint)
    • lowSurrogate(int codePoint)
  • forDigit(int digit, int radix)

适用人群:有一些 Java 基础的人群。

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

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

相关文章

Day7: Linux基础片:系统监控

一下1,2,3,4分别代表截图中第一行,第二行,第三行,第四行表示的内容 top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 当前时间&#xff0c…

工作总结12:封装组件

selectform组件 <!--封装部门选择的插件 需要的组件--> <template><el-select :value"value" placeholder"请选择所属部门" change"handleChange"><el-optionv-for"department in departments":key"depart…

Windows 环境下 Chrome浏览器崩溃“STATUS_INVALID_IMAGE_HASH”

问题 Windows环境下&#xff0c;新版的Chrome浏览器下载安装后&#xff0c;打开就报错&#xff0c;提示错误代码为“STATUS_INVALID_IMAGE_HASH”。重新打开、打开新标签页、刷新均无效。 解决 导致这个问题的原因是 Google 在79版本&#xff08;2019年12月20号左右&#xf…

工作总结13:vue官网封装组件

事件名 不同于组件和 prop&#xff0c;事件名不存在任何自动化的大小写转换。而是触发的事件名需要完全匹配监听这个事件所用的名称。举个例子&#xff0c;如果触发一个 camelCase 名字的事件&#xff1a; this.$emit(myEvent) 则监听这个名字的 kebab-case 版本是不会有任何…

从底层重学 Java 之 Stream 初探 Gitchat连接

Gitchat连接 https://gitbook.cn/gitchat/activity/5f85696aad812d16b498848c 简介 从底层&#xff0c;从原理&#xff0c;我们来重学一次 Java。Stream 是JDK8中新引入的&#xff0c;方便了数据列表的过滤、投影、遍历等各种处理&#xff0c;他的源码及实现是怎样的呢&…

签到题

直接查看源代码 nctf{flag_admiaanaaaaaaaaaaa}转载于:https://www.cnblogs.com/maodun/p/6912628.html

从底层重学 Java 之 Stream 并行及标志 GitChat连接

GitChat连接 https://gitbook.cn/gitchat/activity/5f8fc6cd1f577d4d9f428562 简介 从底层&#xff0c;从原理&#xff0c;我们来重学一次 Java。Stream 是JDK8中新引入的&#xff0c;方便了数据列表的过滤、投影、遍历等各种处理&#xff0c;他的源码及实现是怎样的呢&…

工作总结16:多看官网

多看官网 https://cn.vuejs.org/v2/guide/components.html

201521123121 《Java程序设计》第14周学习总结

1. 本周学习总结 1.1 以你喜欢的方式&#xff08;思维导图或其他&#xff09;归纳总结多数据库相关内容。 数据库的基本特点 1、实现数据共享 数据共享包含所有用户可同时存取数据库中的数据&#xff0c;也包括用户可以用各种方式通过接口使用数据库&#xff0c;并提供数据共享…

Java操作Mongo bulkWrite批量入库

Mongo bulkWrite示例 public boolean insertBulk(String collectionName, JSONArray array) {MongoCollection<Document> collection db.getCollection(collectionName);List<InsertOneModel<Document>> documentList array.stream().map(item -> {Doc…

工作总结17:组件封装思想

就是把部门下拉框选择这部分变成一个组件&#xff0c;在用户创建的时候引入这样就可以把功能不相关代码模块化&#xff0c;以后也便于管理如果别的地方也要用到部门选择&#xff0c;可以直接再次引入&#xff0c;就不用重复写代码了

c#程序中使用quot;like“查询access数据库查询为空的问题

今天&#xff0c;在开发的过程中发现了一个特别奇怪的问题&#xff1a;access中like查询时候。在Access数据库中运行&#xff0c;发现能够查询出结果。这是在数据库上运行。select * from KPProj where KpName like *測试*&#xff0c;可是相同的语句在c#程序中却查询为空。这是…

SpringBoot启动yaml报错

报错找不到org.yaml里的一个方法 10:45:54.742 [main] ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.NoSuchMethodError: org.yaml.snakeyaml.nodes.ScalarNode.getScalarStyle()Lorg/yaml/snakeyaml/DumperOptions$ScalarStyle;at …

JS中的预编译(词法分析)阶段和执行阶段

javascript相对于其它语言来说是一种弱类型的语言&#xff0c;在其它如java语言中&#xff0c;程序的执行需要有编译的阶段&#xff0c;而在javascript中也有类似的“预编译阶段”&#xff08;javascript的预编译是以代码块为范围<script></script>&#xff0c;即每…

Excel分组最大级别为8(outlineLevel最大为7)

excel分组最大级别为8&#xff0c;超过则会删除。 事故现场 Java操作POI分组超过7级&#xff08;算上末级节点&#xff0c;一共8级&#xff09;&#xff0c; 分组作用在sheetData节点下row节点的outlineLevel上&#xff0c;一级分组没有该属性&#xff0c;2-8级分组该值对应为…

Java 的Tuple(类似.net等的元组)

commons-lang3包 两个参数&#xff1a;MutablePair&#xff08;可修改&#xff09;、ImmutablePair&#xff0c;三个参数&#xff1a;MutableTriple&#xff08;可修改&#xff09;、ImmutableTriple&#xff08;不可修改&#xff09; 包commons-lang3 3.8.1里就有 org/apach…

day02-java关键字

转载于:https://www.cnblogs.com/tantanba/p/6917959.html