易截截图软件、单文件、免安装、纯绿色、仅160KB

Java开发 之 StringBuffer和StringBuilder(1)


转 : http://www.jcourse.cn/read/234
2009-03-02 作者:
zhangtaolv
在我们日常开发中,经常会遇到对文本的操作,并且在一般的MIS系统中,文本操作尤为多,如用户名、文章内容、文章标题、合同内容等。在之前的教程中,我也给大家讲解了Java中最基本的字符串操作的类,String。在之前的教程中我也给大家讲了String是不可变的类,即在构造后其内容不能变化,因此对于内容频繁变动(如我们对文章进行编辑)来说String是不合适的。那么遇到这样的情况时,我们该如何处理呢?Java为我们提供了StringBuilder和StringBuffer。
首先讲讲它们的共同点吧!基本上我们在字符串经常发生改变的时候使用它们,然后使用它们来操作会比使用String类要快些。这两个类的区别是StringBuffer是线程安全的而StringBuilder是非线程安全的。
在大致讲解后,我们看看如何由已有的字符串对象来创建StringBuffer和将StringBuffer转换为String对象。
先给出StringBuffer类的构造方法的API,让我们看看有多少种方式来构造它。
构造方法摘要
StringBuffer() 
          构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。
StringBuffer(CharSequence seq) 
          public java.lang.StringBuilder(CharSequence seq) 构造一个字符串缓冲区,它包含与指定的 CharSequence相同的字符。
StringBuffer(int capacity) 
          构造一个不带字符,但具有指定初始容量的字符串缓冲区。
StringBuffer(String str) 
          构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。
 
可以看出,我们可以直接new一个,也可以在new的时候给出参数。这里的参数可以是一个字符串,可以是一个容量值,也可以是一个CharSequence。我们首先看看用已有的字符串来构造StringBuffer。下面是一个例子:
Java代码
public class MainClass {   
  
  public static void main(String[] arg) {   
    StringBuffer aString = new StringBuffer("ABC


相关文档:

JAVA excel

<%    
 response.setContentType("application/vnd.ms-excel;charset=utf-8");
 String  reportname = (String)request.getAttribute("reportname");
 String  reportFileName=java.net.URLEncoder.encode(reportname, "UTF-8");
 String  filenamedispla ......

【IBM需求信息】 JAVA, C/UNIX需求

大家好,这里有IBM的三个长期需求:均是需要2年以上相关工作经验,其中Java以及Testing需要英语可以交流,C/Unix不需要语言。
Java 大连
描述:Java programming, knowledge in J2SE, SWT/JFace, XML. Eclipse programming, knowledge in eclipse architecture. Clear understanding of plugin development. Hands-on exp ......

Java学习拾遗2 由String str=”abc”引出的故事

 Java学习拾遗2--由String str=”abc”引出的故事(综合了下边的一些指点已更新,感谢在下边留言交流的朋友,谢谢你们的指点!) 收藏 此文于2009-11-10被推荐到CSDN首页
如何被推荐?
话题是由如下的事情引出的:
public class StringTest { 
public static void main(String[] args) { 
......

JAVA中用于处理字符串的“三兄弟”

     JAVA中用于处理字符串常用的有三个类:java.lang.String、java.lang.StringBuffer、java.lang.StringBuilder,这三者的共同之处都是final类,不允许被继承,这主要是从性能和安全性上考虑的,因为这几个类都是经常被使用着的,且考虑到防止其中的参数被修改影响到其它的应用。StringBuffer与Strin ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号