【java笔记】创建StringBuffer可变字符串

StringBuffer,StringBuilder和String有什么区别

String字符串一旦赋值后就不能被修改,只能通过修改引用来指向新的字符串

StringBuilder和String可以在堆里面修改字符串

两者在使用时基本相同

 

使用String来组合字符串

        String s = "Cam";
        s+="work";
        System.out.println(s);//输出结果为Camwork

 存储原理:在栈里面生成s引用,在堆里面存储“Cam”数据,并且s是指向Cam。堆里面了存储“work”,它们之间是分开的。当进行相加的时候,就是把“Cam”和“work”分别复制到同一块内存区域里组编成一个新的字符串,s指向这块新的内存区域。

使用StringBuffer来组合字符串

使用StringBuffer来组合字符串

        StringBuffer sb = new StringBuffer("Cam");
        sb.append("work");
        System.out.println(sb);

 存储原理:StringBuffer相当于增加一个缓冲区,当我们创建一个StringBuffer时,会在堆里面申请一个比较大的内存,保证可以存的下初始值(Cam)的情况下,还会有预留的空间,虽然是空白的,但还是属于Cam的内存区域。当我们用append追加字符串的时候,就可以把新的字符串放到空余空间就行了。与String相比,StringBuffer更加快。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值