Java String 源码分析

Java String 源码分析

定义

Java 8 中 String 源码

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {...}

String 是final 类型不能被继承,同时实现了 java.io.serializable Comparable charSequence 三个接口。

String类 官方的说法是:

String 字符串常量,在实例化后不能被修改,但是字符串缓冲区支持可变的字符串,因为缓存区里面的不可变字符串对象可被共享。

属性

/** The value is used for character storage. */
private final char value[];

一个字符数组,并且是 final 类的,用于存储字符串内容。final 字符数组可看出,String 经过定义后,不能被修改。

可能会有疑问,String 初始化化之后,可以被修改啊

String str = "hello";
str = "World"

这里的复制并不是对 str 内容的修改,而是 str 指向了新的字符串。

/** use serialVersionUID from JDK 1.0.2 for interoperability */
private static final long serialVersionUID 
wangxiaoming CSDN认证博客专家 架构 Spring Boot Redis
博客是很好的总结和记录工具,如果有问题,来不及回复,关注微信公众号:程序员开发者社区,获取我的联系方式,向我提问,也可以给我发送邮件,联系 1275801617@qq.com
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.89元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值