String、Stringbuffer、Stringbuilder的区别
来源:互联网 发布:51单片机项目外包网 编辑:程序博客网 时间:2024/06/05 12:07
我们都知道String、Stringbuffer、Stringbuilder他们都是表示字符串的,但是他们之间也是有区别的。
String 字符串常量(不可变)
StringBuffer 字符串常量(线程安全)
StringBuilder 字符串常量(非线程安全)
string、stringbuilder、stringbuffer都实现了CharSequence接口,charsequence是一个定义字符串操作的接口,它里边只包括length()、charAt(int index)、subSequence(int start, int end)这几个API。
但是,string、stringbuffer、stringbuilder他们对CharSequence接口的实现不一样。
String是直接实现的charsequence接口,而stringbuilder和stringbuffer是继承于AbstractStringbuilder,实现的charsequence接口。
String类型每次进行改变的时候,都是生成新的对象,然后将指针指向新的对象,所以说,如果字符串内容经常改变,不建议使用
string类型,因为每次创建对象会对系统性能产生影响,特别是当内存中有许多无用对象,就会触发GC,这样速度会更慢。
使用stringbuffer是在字符串后面追加内容,不会创建新的对象。StringBuffer中主要使用的是append()和insert()方法。append方法是将要添加的内容追加到字符串的尾部,而insert方法是将内容添加到指定的地方。
StringBuilder大致和StringBuffer相同,他两的区别是Stringbuffer是线程安全的,Stringbuilder是线程不安全的。如果字符串缓冲区内被单线程占用,就使用Stringbuilder,如果是被多线程占用的话,就使用Stringbuffer。
如果是操作少量字符串,使用String,如果是大量数据,单线程操作数据就使用Stringbuilder,多线程操作数据就使用Stringbuffer。
- String,StringBuffer,StringBuilder的区别
- String StringBuffer StringBuilder的区别
- String, StringBuffer, StringBuilder的区别?
- String,StringBuffer, StringBuilder 的区别
- String,StringBuffer,StringBuilder的区别
- String , StringBuffer, StringBuilder的区别
- String 、 StringBuffer 、StringBuilder 的区别
- String StringBuffer StringBuilder的区别
- String、StringBuffer、StringBuilder的区别
- String, StringBuffer, StringBuilder的区别
- String StringBuffer StringBuilder的区别
- string、stringbuffer、stringbuilder的区别
- String、StringBuffer 、StringBuilder 的区别
- String,StringBuffer,StringBuilder的区别
- String ,StringBuffer,StringBuilder的区别
- String,StringBuffer,StringBuilder的区别
- String StringBuffer StringBuilder的区别
- String,StringBuffer,StringBuilder的区别?
- 没有配置监听器,加载器,和加载文件类时怎么得到bean
- iOS 8苹方体使用说明
- POJ3280 Cheapest Palindrome (区间dp)
- Binary_Code 2-SAT神题
- 欢迎使用CSDN-markdown编辑器
- String、Stringbuffer、Stringbuilder的区别
- linux进程间管道通信pipe与fifo
- web前端打印需要注意的CSS样式
- 使用ping时,所用到的协议
- win7 快捷图标显示异常
- 【bzoj2242】[SDOI2011]计算器(ksm+扩欧+bsgs)
- 问题收集录
- 9.13第一轮扫荡战果
- Eclipse中新建java类自动生成作者和时间设置