java中的StringBuilder和StringBuffer
来源:互联网 发布:电脑绘图板软件 编辑:程序博客网 时间:2024/06/18 03:47
为什么要使用StringBuilder和StringBuffer?
public class Test{
public static void main(String[] args){
String str="hello";
System.out.println(str+"world");
System.out.println(str);
}
}
运行结果:
helloworld
hello
从上面的运行结果可以看出:程序运行时会额外创建一个对象,用来保存"helloworld"。当频繁操作字符串时,就会额外产生很多临时变量。使用StringBuffer或StringBuilder就可以避免这个问题。
StringBuilder和StringBuffer的区别:
StringBuilder和StringBuffer基本相似,不同之处是StringBuffer是线程安全的,而StringBuilder则没有实现线程安全功能,所以性能略高(速度快)。
当字符串缓冲被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行操作,所以一般情况下为了提高速度建议使用StringBuilder。
下面以StringBuilder类为例:
(1)创建一个空的StringBuilder对象:
StringBuilder str1=new StringBuilder(); //创建一个空的StringBuilder对象StringBuilder str2=new StringBuilder("Tom"); //创建一个字符串"Tom"
(2)StringBuilder类的常用方法:
返回值类型 方法名() 说明
StringBuilder append(参数) 追加内容到当前StringBuilder对象的末尾
StringBuilder insert(参数) 将内容插入到StringBuilder对象的指定位置
String toString() 将StringBuilder对象转换为String对象
int length() 获取字符串的长度
例如:
public class Test{public static void main(String[] args){StringBuilder str=new StringBuilder("Hello"); System.out.println("插入前字符串的长度为:"+str.length());str.append(" World!");System.out.println("插入后字符串的长度为:"+str.length());String str1=str.toString(); //转换为String类型System.out.println(str1);}}
运行结果:
插入前字符串的长度为:5
插入后字符串的长度为:12
Hello World!
- java 中的StringBuilder和StringBuffer
- java中的stringbuilder和stringbuffer
- java中的StringBuilder和StringBuffer
- Java中的StringBuffer和StringBuilder
- Java中的字符串 String, StringBuffer和StringBuilder
- Java中的String、StringBuffer和StringBuilder
- java中的String,StringBuffer和StringBuilder浅谈
- java中的StringBuffer类和StringBuilder类
- Java中的String、StringBuffer和StringBuilder区别
- Java中的String、StringBuilder和StringBuffer
- Java StringBuffer和StringBuilder
- java Stringbuilder和Stringbuffer
- java中的String,StringBuffer,StringBuilder
- java中的String,StringBuilder,StringBuffer
- java中的String StringBuilder StringBuffer
- java中的String,StringBuffer,StringBuilder
- Java中的String、StringBuilder、StringBuffer
- Java中的String,StringBuffer,StringBuilder
- NODE基础(二)
- Android异常之ForceClose
- android_109_旋转菜单
- poj 3984 迷宫问题(简单迷宫)
- hdu 2546 饭卡 01背包
- java中的StringBuilder和StringBuffer
- LINQ
- 最新版Servlet3.1规范--注解
- 1075. PAT Judge (25)-排序(难)
- NODE基础(三)
- 正则表达式元字符 限定符 括号
- 算法训练 排序
- 算法相关——Java排序算法之桶排序(一)
- opencv Canny边缘检测用法