Java 基础 - String 源码

Posted suruns

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 基础 - String 源码相关的知识,希望对你有一定的参考价值。

上班闲的时候看下源码,边看边更新,欢迎评论

继承关系

技术图片

主要继承三个接口

CharSequence:字符串序列,代表一种可读可写的字符串

Serializable: 序列化接口,表示可以实现序列化

Comparable: 可比较接口,须实现 CompareTo 函数

变量

private final char value[];
这是字符串存储的数组

private int hash;缓存该 String 的 hashCode

private static final ObjectStreamField[] serialPersistentFields =new ObjectStreamField[0]; 用来保存 String 的序列化字段

函数

String 中函数较多,写出主要的几个

构造函数

技术图片

String 的构造函数有 14 个,可以传入多种多样的参数,主要是 String,char[], byte[],StringBuffer,SrtingBuilder

getBytes

将 String 转化为指定编码格式的 byte 数组,默认编码格式为“ISO-8859-1

compareTo

比较函数,实现 Comparable 接口,逐个比较 char 的方式实现,区分大小写

String 中还有另一个compareToIgnoreCase函数,是 String 内部申明了了一个CaseInsensitiveComparator比较器来实现的,不区分大小写。

startWith

判断从指定位置(默认为 0)开始之后是否与指定字符串相同

IndexOf,LastIndexOf

技术图片

获取指定字符串。数值(Unicodeb 编码)或 char 数组在字符串的位置

ValueOf

技术图片

字符串转换,注意 Object 为空时,返回一个null字符串

作者:suruns
链接:http://pipe.suruns.com/blogs/suruns/articles/2019/10/11/1570758958967
来源:Pipe
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

以上是关于Java 基础 - String 源码的主要内容,如果未能解决你的问题,请参考以下文章

JAVA基础字符串

java基础进阶一:String源码和String常量池

Java 基础 - String 源码

java基础源码 --String类

如何进行 Java 代码阅读分析?

Java基础干货Guava集合工具CollectionUtil源码剖析