0009JDK源码分析之拓展字符集
Posted Java框架源码分析
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0009JDK源码分析之拓展字符集相关的知识,希望对你有一定的参考价值。
本文将介绍char的包装类Character中的字符常量池、字符集以及如何拓展字符集。
本文大纲:
一、字符常量池
二、Character.Subset类
三、拓展字符集
一、字符常量池
char的包装类Character中也实现了常量池,缓存了128个数字字符。Character.valueOf(char c)调用此方法创建Character对象会使用字符常量池中的对象,节省资源。
二、Character.Subset类
Subset是Character类的内部类,是字符集的超类,UnicodeBlock也是Character的内部类,继承了Subset类,提供了非常丰富的字符集。Subset类实现如下:
UnicodeBlock类定义的字符集(只是一部分):
三、拓展字符集
Character中的UnicodeBlock已经定义了十分丰富的字符集,一般情况下,客户端不需要在重新定义了,如果真的如要拓展一些字符集,也很方便,继承Character.Subset类,定义个性化的字符集。比如图形中的InputSubset类就拓展了字符集,部分代码如下:
四、总结
String字符串在开发中的使用频率会远远高于字符Character,但是有些场景还是相当有用的,创建Character对象时调用valueOf()方法会使用字符池中预先创建好的实例。其次,Character类提供了大量操作字符的方法,比如:判断字符是否是数字、字母,转换大小写等等。如果你要操作字符,你需要的可能都在这里了,不需要额外开发代码实现。
感谢您的阅读,谢谢!
以上是关于0009JDK源码分析之拓展字符集的主要内容,如果未能解决你的问题,请参考以下文章