JAVA 常用类型之String结构

本文探讨了Java中String对象的底层结构,指出其使用char数组存储字符。通过分析源码,解释了String赋值的两种方式:直接赋值和new String()构造,以及它们在内存中的不同表现。还讨论了String对象的比较和字符串拼接,以及JDK9以后String底层结构由char[]改为byte[]的原因,包括节省内存和减少垃圾回收次数的优势。
摘要由CSDN通过智能技术生成

String在java中我们是用来操作字符串的,但它的底层结构确是一个char[]数组,通过数组的方式将每个字符进行保存。

使用时:String str="ABCD",内部存value确是:value=['A','B','C','D'];

如下图:

参考String源码如下:

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    private final char value[];
 
     private int hash; // Default to 0
 
    private static final long serialVersionUID = -6849794470754667710L;
    
    ......此处省略N多代码
    
    public String(String original) {
        this.value = original.value;
        this.hash = original.hash;
    }
}
<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值