StringBuffer以StringBuilder的区别

一.概述

JAVA中StringBuffer,StringBuilder与String不同的地方在于前两者都是可以在原有对象基础上进行修改

二.StringBuffer

StringBuffer的特点在于,StringBuffer是线程安全的(不能同步访问),但速度相对会劣势

//创建方式
StringBuffer str=new StringBuffer("www");
//对str进行修改增加
str.append(".csdn");
str.append(".net");
System.out.println(str);
//输出结果为
www.csdn.net

StringBuffer的其他方法可进入菜鸟教程

二.StringBuilder

StringBuilder的特点在于,StringBuilder是允许同步访问的,速度方面更有优势

//创建方式
StringBuilder str=new StringBuilder("123");
       str.delete(0,2);//删除str中从下标为0起始,到下标为2之前
       System.out.println(str);
//输出结果为
3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
String、StringBufferStringBuilderJava中用于处理字符串的类。它们之间的区别主要体现在可变性、执行速度和线程安全性方面。 1. 可变性:String是不可变的,也就是说一旦创建了一个String对象,它的值就不能被修改。而StringBufferStringBuilder是可变的,可以通过方法来修改其值。 2. 执行速度:StringBufferStringBuilder的执行速度要比String快得多。其中,StringBuilder的执行速度通常比StringBuffer更快,因为StringBuilder没有对方法加锁同步的限制,所以在单线程环境下,建议使用StringBuilder类。 3. 线程安全性:String是不可变的,所以它是线程安全的。而StringBuffer是线程安全的,它的方法都是加锁同步的,所以在多线程环境下,可以确保线程安全。相比之下,StringBuilder没有对方法加锁同步的限制,所以在多线程环境下,不具备线程安全性。 综上所述,String适用于字符串不需要频繁修改的场景,而StringBufferStringBuilder适用于需要频繁修改字符串的场景。如果在单线程环境下,建议使用StringBuilder,如果在多线程环境下,建议使用StringBuffer来保证线程安全性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [String、StringBufferStringBuilder区别](https://blog.csdn.net/weixin_41148525/article/details/127244787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值