- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java7源码解读之string
Java7源码解读之string
St ring表示字符串 ,Java中所有字符串的字面值都是St ring类的实例 ,例如“A BC”。字符串是
常量 ,在定义之后不能被改变 ,字符串 冲区支持可变的字符串。因为 St ring 对象是不可变的 ,
所以可以共享它们。例如 :
St ring st r = abc;
相当于
char dat a[] = {a, b, c} ;
St ring st r = ne St ring(dat a);
这里还有一些其他使用字符串的例子 :
Syst em.o ut .print ln(abc);
St ring cde = cde;
Syst em.o ut .print ln(abc + cde);
St ring c = abc.subst ring(2,3);
St ring d = cde.subst ring(1, 2);
St ring类提供了检查字符序列中单个字符的方法 ,比如有比较字符串 ,搜索字符串 ,提取子
字符串 ,创建一个字符串的副本、字符串的大小写转换等。实例映射是基于Charact er类中指定
的Unicode标准的。Java语言提供了对字符串连接运算符的特别支持 (+ ),该符号也可用于将其
他类型转换成字符串。字符串的连接实际上是通过St ringBuf f er或者St ringBuilder的append()方法
来实现的 ,字符串的转换通过t o St ring方法实现 ,该方法由 O bject 类定义 ,并可被 Java 中的所
有类继承。 除非另有说明 ,传递一个空参数在这类构造函数或方法会导致NullPo int erExcept io n
异常被抛出。St ring表示一个字符串通过UT F- 16(unicode)格式 ,补充字符通过代理对 (参
见Charact er类的 Unicode Charact er Represent at io ns 获取更多的信息 )表示。索引值参考字符
编码单元 ,所以补充字符在St ring中占两个位置。
一、定义
public f inal class St ring implement s java.io .Serializable, Co mparable, CharSequence{}
从该类的声明中我们可以看出St ring是f inal类型的 ,表示该类不能被继承 ,同时该类实现了三
个接口 :java.io .Serializable、 Co mparable、 CharSequence
二、属性
privat e f inal char value[];
这是一个字符数组 ,并且是f inal类型 ,他用于存储字符串内容 ,从f ianl这个关键字中我们可
更多精彩攻略访问 1
以看出 ,St ring的内容一旦被初始化了是不能被更改的。 虽然有这样的例子 : St ring s = “a”; s =
“b” 但是 ,这并不是对s的修改 ,而是重新指向了新的字符串 , 从这里我们也能知道 ,St ring其实
就是用char[]实现的。
privat e int hash;
存字符串的hash Code ,默认值为 0
privat e st at ic f inal lo ng serialVersio nUID = -684 97944 70754 667710L;
privat e st at ic f inal O bject St reamField[] serialPersist ent Fields = ne O bject St reamField[0];
因为St ring实现了Serializable接口 ,所以支持序列化和反序列化支持。Java的序列化机制是
通过在运行时判断类的serialVersio nUID来验证版本一致性的。在进行反序列化时 ,JV M会把传来
的字节流中的serialVersio nUID与本地相应实体 (类 )的serialVersio nUID进行比较 ,如果相同就
认为是一致的 ,可以进行反序列化 ,否则就会出现序
您可能关注的文档
- 第7章 诊断试验.ppt
- 全球最全ETF综述与汇总.docx
- 16进制之间转换.pdf
- 136个社工网站.pdf
- 第十二章(会话跟踪下).ppt
- 41050;44070;中文规格书,Datasheet资料.pdf
- 4阶矩阵的逆 and 矩阵相乘.pdf
- 2016全球能源互联网大会材料6-4.pdf
- Android数据存储及IO.pdf
- C++ 数据类型转换技巧.pdf
- 第十一章 电流和电路专题特训二 实物图与电路图的互画 教学设计 2024-2025学年鲁科版物理九年级上册.docx
- 人教版七年级上册信息技术6.3加工音频素材 教学设计.docx
- 5.1自然地理环境的整体性 说课教案 (1).docx
- 4.1 夯实法治基础 教学设计-2023-2024学年统编版九年级道德与法治上册.docx
- 3.1 光的色彩 颜色 电子教案 2023-2024学年苏科版为了八年级上学期.docx
- 小学体育与健康 四年级下册健康教育 教案.docx
- 2024-2025学年初中数学九年级下册北京课改版(2024)教学设计合集.docx
- 2024-2025学年初中科学七年级下册浙教版(2024)教学设计合集.docx
- 2024-2025学年小学信息技术(信息科技)六年级下册浙摄影版(2013)教学设计合集.docx
- 2024-2025学年小学美术二年级下册人美版(常锐伦、欧京海)教学设计合集.docx
文档评论(0)