2.StringBuffer:线程安全的可变字符串序列
一、String、StringBuffer和StringBuilder的区别
1.String是内容不可变的,而StringBuffer和StringBuilder都是内容可变的。
2.StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高。
二、StringBuffer的方法
1.添加:append(),insert()
2.删除:deletecharAt(),delete()
3.替换:replace()
4.反转:reverse()
5.截取:subString()(返回值类型String)
三、.StringBuffer和String的相互转换
/* String -- StringBuffer *///方式1:通过构造方法String s ="hello";StringBuffer sb =newStringBuffer(s);//方式2:通过append方法String s2 ="hello";StringBuffer sb2 =newStringBuffer();sb2.append(s);
//StringBuffer ---String//方式1:通过构造方法StringBuffer buffer =newStringBuffer("hello");String str =new String(buffer);//方式2:通过toString()方法String str2 = buffer.toString();
四、String和StringBuffer作为形参传递(要特别注意)
String做为形参传递,效果和基本数据类型一致。
publicclassStringTest{publicstaticvoid main(String[] args){String s1 ="hello";String s2 ="world";System.out.println(s1+"===="+s2);//hello====worldchange(s1,s2);System.out.println(s1+"===="+s2);//hello====worldStringBuffer sb1 =newStringBuffer("hello");StringBuffer sb2 =newStringBuffer("world");System.out.println(sb1+"======"+sb2);//hello====worldchange(sb1,sb2);System.out.println(sb1+"======"+sb2);//hello======worldworld}publicstaticvoid change(StringBuffer sb1,StringBuffer sb2){sb1 = sb2;sb2.append(sb1);}publicstaticvoid change(String s1,String s2){s1 = s2;s2 = s1 + s2;}}
2.StringBuffer:线程安全的可变字符串序列的更多相关文章
- Java基础 - 可变字符串 StringBuffer
StringBuffer 类是线程安全的可变字符序列,一个类似于String类的字符串缓冲区,两者本质上是一样的,但StringBuffer类的执行效率要比String类快很多.String类创建的字 ...
- Java 之 可变字符序列:字符串缓冲区(StringBuilder 与 StringBuffer)
一.字符串拼接问题 由于 String 类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象. Demo: public class StringDemo { public ...
- 不可变字符串String与可变字符串StringBuilder、StringBuffer使用详解
String字符串 char类型只能表示一个字符,而String可以表示字符串,也就是一个字符序列.但String不是基本类型,而是一个定义好的类,是一个引用类型.在Java中,可以将字符串直接量赋给 ...
- Java 常用类——StringBuffer&StringBuilder【可变字符序列】
一.字符串拼接问题 由于 String 类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象. Demo: 1 public class StringDemo { 2 pub ...
- 测试可变字符序列stringBuilder
测试可变字符序列 stringBuilder(线程不安全,效率高,一般用),stringBuffer(线程安全,效率低)stringBuilder,stringBuffer和string的区别前者可变 ...
- Java中String被称为不可变字符串的原因
很多东西,看似可变,实际上不过是是新桃换旧符罢了. 代码: /** * String之所以被称为不可变字符串 */ static void testString(){ String str = &qu ...
- c# 可变字符串 StringBuilder
普通的string不可变,除非用+ 但是+两个字符串后 会生成一个新的string实例.会在内存中创建新的字符串对象.如果重复的对字符串修改,将极大的增加内存开销.c#提供了个可变的字符串序列Stri ...
- 可变字符串NSMutableString
//可变字符串继承自字符串 //拼接 NSMutableString *string = [NSMutableString string]; [string appendString:@"今 ...
- 不可变字符串NSString
/*字符串的常用方法*/ //1.通常用来把一些基本数据类型和字符串进行拼接 ; float b = 9527.0; NSString *string = [NSString stringWithFo ...
随机推荐
- 数据结构之栈和队列及其Java实现
栈和队列是数据结构中非常常见和基础的线性表,在某些场合栈和队列使用很多,因此本篇主要介绍栈和队列,并用Java实现基本的栈和队列,同时用栈和队列相互实现. 栈:栈是一种基于“后进先出”策略的线性表.在 ...
- 北京Uber优步司机奖励政策(2月25日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 成都Uber优步司机奖励政策(2月7日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- P1294 高手去散步
P1294 高手去散步 题目背景 高手最近谈恋爱了.不过是单相思.“即使是单相思,也是完整的爱情”,高手从未放弃对它的追求.今天,这个阳光明媚的早晨,太阳从西边缓缓升起.于是它找到高手,希望在晨读开始 ...
- 三年同行,质造未来,腾讯WeTest五大服务免费体验
WeTest 导读 2018年10月26日,腾讯WeTest将正式迎来三周岁生日.三周年庆典期间,只要在WeTest平台注册的用户,均可免费体验标准兼容.云真机.压测大师.手游安全扫描.应用安全扫描等 ...
- Windows系统常用修复命令 无须重装系统
1.0 netsh int ipv4 reset 2.0 netsh winsock reset winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层 ...
- java实现网页截图
使用工具 java+selenium+phantomjs /chromedriver /firefox 1.分别是 phantomjs插件 google截图插件 和 firefox火狐浏览器截图插件2 ...
- TW实习日记:第24-25天
项目的交付期是真的赶...一直在不断地修改一些小bug,然后消息推送功能出了一个问题,就是不知道为什么PC端会发送两次消息到移动端后台.其中第一条正常第二条会有乱码不正常,可以说是很奇怪了,一开始都认 ...
- JavaWeb--------JSP语法基础学习(特别适合入门)
准备工作: 需要Tomcat8.0,MyEclipse,JDK JSP是一种运行在服务器端的脚本语言,JSP页面又是基于HTML网页的程序,它是Java Web 开发技术的基础. 基本内容: JSP页 ...
- linux学习总结----mongoDB总结
dbhelper.py 用户登录和注册(加密算法) 加密导包 import hashlib 或者使用Md5 加密 MongoDB ->JSON service mysql start servi ...