Java StringBuffer与StringBuider

转载 2015年07月09日 23:19:22
StringBuffer、StringBuilder、String中都实现了CharSequence接口!


CharSequence是一个定义字符串操作的接口,它只包括length()、charAt(int index)、subSequence(int start, int end) 这几个API。

StringBuffer、StringBuilder、String对CharSequence接口的实现过程不一样,如下图所示:


图1  对CharSequence接口的实现

可见,String直接实现了CharSequence接口;StringBuilder 和 StringBuffer都是可变的字符序列,它们都继承于AbstractStringBuilder,实现了CharSequence接口。

总结

线程安全:
  • StringBuffer:线程安全
  • StringBuilder:线程不安全

速度:
一般情况下,速度从快到慢为 StringBuilder > StringBuffer > String,当然这是相对的,不是绝对的。

使用环境:
  • 操作少量的数据使用 String;
  • 单线程操作大量数据使用 StringBuilder;
  • 多线程操作大量数据使用 StringBuffer。

ps:CharSequence

北风网
这是一个接口:在JDK1.4中,引入了CharSequence接口,实现了这个接口的类有:CharBuffer、String、StringBuffer、StringBuilder这个四个类。 

CharBuffer为nio里面用的一个类,String实现这个接口理所当然,StringBuffer也是一个CharSequence,StringBuilder是Java抄袭C#的一个类(这句不确定),基本和StringBuffer类一样,效率高,但是不保证线程安全,在不需要多线程的环境下可以考虑。 

提供这么一个接口,有些处理String或者StringBuffer的类就不用重载了。

但是这个接口提供的方法有限,只有下面几个:charat、length、subSequence、toString这几个方法,感觉如果有必要,还是重载的比较好,避免用instaneof这个操作符。 

Java中String,StringBuffer,StringBuilder常用方法及使用实例

package stringtest; public class StringOpera { public static void main(String[] args) { Strin...
  • u012768347
  • u012768347
  • 2017年03月12日 16:33
  • 340

发现Java StringBuffer使用中的一个隐藏问题,你中招了吗?

StringBuffer难道很不安全吗,为什么作为参数,传递到另外一个类里面,然后修改了该变量,居然它的值就变化了。...
  • yuanchongtian
  • yuanchongtian
  • 2016年06月17日 11:19
  • 1353

字符串逆序,字符串转为字符数组 、字符串转字节数组,字节数组转字符串、java中String、StringBuffer、StringBuilder

静态方法调用非静态方法:要new 对象 静态方法调用方式:不用创建对象也可以调用 java中String、StringBuffer、StringBuilder 字符串逆序,字符串转为字符数组 ...
  • u010363836
  • u010363836
  • 2016年04月15日 17:31
  • 1687

黑马程序员_Java语言_常见对象(StringBuffer,数组,Arrays)

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-13.01_常见对象(StringBuffer类,Arrays类,Integer类)...
  • jiao142857
  • jiao142857
  • 2015年05月06日 16:33
  • 624

java基础--StringBuffer类常用方法以及案例

StringBuffer类概述我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题 线程安全的可变字符序列Str...
  • u014726937
  • u014726937
  • 2016年10月19日 12:20
  • 1622

Java中字符数组、String类、StringBuffer三者的相互转换

一、StringBuffer与String的相互转换 1、将StringBuffer转换成String StringBuffer类成员toString函数可将其转换成String类型。 String...
  • strggle_bin
  • strggle_bin
  • 2017年04月07日 15:06
  • 2420

StringBuffer的常用方法与操作

stringbuffer的常用方法与操作
  • hoho_12
  • hoho_12
  • 2016年04月13日 20:30
  • 1371

StringBuffer类常用方法(Java)

StringBuffer类和String 类最大的区别在于他的内容和长度都是可以改变的。。 常用方法演示:(课本上源代码) package example1.cpm; public clas...
  • hdd871532887
  • hdd871532887
  • 2015年12月15日 21:40
  • 344

Java String之StringBuffer以及它的API的详细使用方法

StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。 StringBuilder 也是继承于Abstra...
  • jiutianhe
  • jiutianhe
  • 2014年12月26日 14:21
  • 1793

黑马程序员——Java基础---String、StringBuffer和正则表达式

主要介绍了String、StringBuilder以及正则表达式的写法。
  • qq_23868283
  • qq_23868283
  • 2014年11月26日 17:43
  • 638
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java StringBuffer与StringBuider
举报原因:
原因补充:

(最多只允许输入30个字)