String 源码分析 (二)
🍁 作者:知识浅谈,CSDN 博客专家,阿里云签约博主,InfoQ 签约博主,华为云云享专家,51CTO 明日之星
📌 擅长领域:全栈工程师、爬虫、ACM 算法
💒 公众号:知识浅谈
String 源码分析(二)总结🤞这次都给他拿下🤞
正菜来了⛳⛳⛳
🎈String 源码中的相关函数解析
🍮String(bytes[], offset, length,charsetName)
含义:这个构造函数主要是根据 byte 数组中指定的 offset 偏移量和 length 来确定其截取的范围,并按照 charsetName 指定的方式解码。
🍮String(byte bytes[])
含义:这个函数是指定传入的 byte 字节数组,函数内部调用 String 类自身的三个参数的构造函数。
🍮String(StringBuffer buffer)
含义:这个函数的含义主要是把传递过来额度字节数组赋值给当前的 String 中的底层数组,分配一个新字符串,该字符串包含字符串缓冲区参数中当前包含的字符序列。复制字符串缓冲区的内容;字符串缓冲区的后续修改不会影响新创建的字符串。
和上边的方法一样,String(StringBuilder builder)也是采用的类似上述的方法。
🍮int length()
含义:这个函数的含义主要就是返回字符串的长度。
🍮isEmpty()
含义:这个函数的意思是判断 value 数组的长度是否为空
🍮char charAt(int index)
含义:这个函数的含义是在指定的数组中查找到对应位置的元素,如果超出了返回就会抛出异常。
🍮int codePointAt(int index)
含义:返回指定索引处的字符(Unicode 代码点)。索引指的是 char 值(Unicode 代码单元),范围从 0 到 length()-1。如果给定索引处指定的 char 值在高代理范围内,则以下索引小于此 String 的长度, 且后面索引处的 char 值在低代理范围内,则返回该代理对对应的补充码位。否则,返回给定索引处的 char 值。通俗解释:返回 String 中指定位置的字符对应的 Unicode 值。
🍮int codePointBefore(int index)
含义: 和上边的函数基本一样,只不过这个查找的是对应索引的前一个字符的值。
🍮int codePointCount(int beginIndex, int endIndex)
含义:这个函数主要是返回指定范围的 Unicode 代码点的数量。因为在 char 数组中有可能某个位置上的字符代表的不是字符。
🍚总结
以上是关于 String 相关的函数解读,希望有所帮助,Written By 知识浅谈
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/52e47ada4e4f54e0dbe0ab7ca】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论