如果程序对附加字符串的需求很频繁,不建议使用+来进行字符串的串联。可以考虑使用java.lang.StringBuilder 类,使用这个类所产生的对象默认会有16个字符的长度,您也可以自行指定初始长度。如果附加的字符超出可容纳的长度,则StringBuilder 对象会自动增加长度以容纳被附加的字符。如果有频繁作字符串附加的需求,使用StringBuilder 类能使效率大大提高。如下代码:
Java代码
public class AppendStringTest
{
public static void main(String[] args)
{
String text = "" ;
long beginTime = System.currentTimeMillis();
for ( int i= 0 ;i< 10000 ;i++)
text = text + i;
long endTime = System.currentTimeMillis();
System.out.println("执行时间:" +(endTime-beginTime));
StringBuilder sb = new StringBuilder ( "" );
beginTime = System.currentTimeMillis();
for ( int i= 0 ;i< 10000 ;i++)
sb.append(String.valueOf(i));
endTime = System.currentTimeMillis();
System.out.println("执行时间:" +(endTime-beginTime));
}
}
public class AppendStringTest
{
public static void main(String[] args)
{
String text = "";
long beginTime = System.currentTimeMillis();
for(int i=0;i<10000;i++)
text = text + i;
long endTime = System.currentTimeMillis();
System.out.println("执行时间:"+(endTime-beginTime));
StringBuilder
sb = new StringBuilder
("");
beginTime = System.currentTimeMillis();
for(int i=0;i<10000;i++)
sb.append(String.valueOf(i));
endTime = System.currentTimeMillis();
System.out.println("执行时间:"+(endTime-beginTime));
}
} 此段代码输出:
执行时间:3188
执行时间:15
StringBuilder 是j2se1.5.0才新增的类,在此之前的版本若有相同的需求,则使用java.util.StringBuffer。事实上StringBuilder 被设计为与StringBuffer具有相同的操作接口。在单机非线程(MultiThread)的情况下使用StringBuilder 会有较好的效率,因为StringBuilder 没有处理同步的问题。StringBuffer则会处理同步问题,如果StringBuilder 会有多线程下被操作,则要改用StringBuffer,让对象自行管理同步问题。
转载:http://blog.csdn.net/gnuhpc/archive/2009/08/16/4452784.aspx
发表评论
-
spring几种Dao支持配置
2010-03-17 12:54 1343事务的处理一般来说有两种方式: 一个是依赖特定的资源的事 ... -
JPA注解
2010-03-16 12:58 9261、@Entity(name="EntityName ... -
2222
2010-02-03 15:04 14122222222 -
111
2010-02-03 14:39 10721111 -
毕业后的5年 决定你的命运
2009-12-09 11:05 923正如”打工皇帝”唐骏说:”我觉得有两种人不要跟别人争利益和价值 ... -
Java Web开发, 你一定会遇到
2009-12-09 10:56 1001Java Web开发中,有许多 ... -
每个项目中,你不得不知的11个Java第三方类库
2009-11-01 11:19 808Java第三方library ecosystem是一个很广阔的 ... -
Eclipse关闭鼠标悬停提示
2009-09-24 14:55 1067Window->Preferences->Java ... -
把svn配置成系统后台服务
2009-09-11 08:45 2112如何把SubVersion的服务程序变为Window后台服务形 ... -
取消已设置为SVN的文件夹
2009-09-09 12:56 1035取消CheckOut后的文件与svn的联系 Windows R ... -
JAVA 反射
2009-09-06 18:07 2716java反射 Java 编程的动态性,第 1 部分: 类和类 ... -
Java基于Socket文件传输示例
2009-09-01 21:58 1482最近需要进行网络传输 ... -
QQ传输文件原理参考(来自互联网)
2009-08-24 21:47 7589QQ的文件发送是怎样的 ... -
几个谜题,深入的了解java
2009-08-24 13:20 692在2009年的JavaOne大会上,Joshua Bloch和 ... -
我带的第一个项目
2009-08-24 13:19 834做了大大小小的项目一堆,大到五彩石级别的,统一底层的项目, ... -
Tomcat启动分析
2009-08-24 13:15 6411 - Tomcat Server的组成部 ... -
国内热门的开放平台
2009-08-24 13:05 22851、 搜狐博客€ ... -
一个Java程序员应该掌握的10项技能
2009-08-17 13:07 955转载:http://java.csdn.net/index.p ... -
8个你应该了解的正则表达式
2009-08-16 00:13 854转载:http://www.iteye.com/news/97 ...
相关推荐
Java StringBuilder类原理及常用方法 Java StringBuilder类是一种可变字符序列, 它是一个字符串缓冲区,可以通过某些方法调用改变该序列的长度和内容。StringBuilder内部拥有一个数组用来存放字符串内容,进行字符...
Java StringBuilder类相关知识总结 Java StringBuilder类是一个可变的字符串对象,用于高效地处理字符串操作。下面是Java StringBuilder类的相关知识总结: 1. 构造方法: Java StringBuilder类提供了两种构造...
Java StringBuilder类详解及简单实例 Java StringBuilder类是Java语言中的一种字符串操作类,它提供了多种字符串操作方法,如追加、插入、替换、删除等。下面将详细介绍Java StringBuilder类的详解及简单实例。 一...
Java中的`StringBuilder`类是处理字符串的一个重要工具,特别是在需要频繁进行字符串操作的场景下,它的性能优于传统的`String`类。这是因为`String`在Java中是不可变对象,每次修改都会创建一个新的字符串实例,而`...
stringbuilder用法 java中stringBuilder的用法java中stringBuilder的用法java中stringBuilder的用法java中stringBuilder的用法java中stringBuilder的用法java中stringBuilder的用法java中stringBuilder的用法java中...
在Java编程语言中,`StringBuilder`类是字符串操作的一个重要工具,尤其在处理大量字符串拼接时,它的效率远高于`String`类。本篇文章将深入解析`StringBuilder`的使用方法、内部机制以及与`StringBuffer`的区别。 ...
- StringBuilder类提供了多个构造函数,可以无参创建一个空的StringBuilder对象,也可以根据传入的初始字符串内容来初始化一个StringBuilder对象。例如:`StringBuilder sb = new StringBuilder("HelloWorld!");` ...
Java的StringBuilder类是Java语言中用于处理字符串的一个重要工具,特别是在构建或修改字符串时,它提供了高效的性能。与String类不同,StringBuilder是一个可变的对象,这意味着我们可以在已有的字符串基础上进行...
刚从java转过来感觉c的字符串操作太麻烦了所以自己写了一个类似java的StringBuilder类的头文件 它支持java的StringBuilder支持的很多操作大大方便了对字符串的操作 能力所限如有bug请指出</h1>
StringBuilder类是Java编程语言中用于处理字符串的一个重要工具,尤其在需要进行大量字符串操作或者需要优化性能的场景下,StringBuilder扮演着不可或缺的角色。与String不同,String对象的长度是固定的,一旦创建,...
这是java学习中,总结出来的关于StringBuilder的一些内容,供学习参考。
在Java编程语言中,StringBuffer和StringBuilder类是处理可变字符串序列的重要工具。它们提供了丰富的功能,如添加、插入、删除、替换字符,以及反转字符串序列等。由于这两个类的特性,它们在处理大量字符串操作时...
StringBuilder 是 Java 中的一个非常有用的类,主要用于字符串的操作和修改。通过使用 StringBuilder,可以减少字符串的创建和销毁,从而提高性能。同时,StringBuilder 还提供了许多有用的方法,例如 Append、...
在Java编程中,`StringBuilder`类是用来处理字符串的可变对象,相较于`String`类,它的主要优势在于能够在不创建新对象的情况下对字符串进行修改,从而提高了性能,尤其是在需要进行大量字符串操作,如循环连接字符...
### JavaSE之StringBuilder类与String类 #### 一、String类概述 在Java语言中,`String`类是非常重要的一个类,它代表了不可变的字符序列,即一旦创建了一个`String`对象,其内容就不能被修改。由于`String`类的不...
StringBuilder类是Java中第三种字符串类,它的字符串可以被修改。StringBuilder类不是线程安全的,因为它的方法中没有加synchronized关键字。这使得StringBuilder类的执行效率高于StringBuffer类。 在StringBuilder...
十进制转二进制java实现 标题解释 十进制转二进制是指将十进制...同时,本文档还介绍了相关的知识点,包括十进制数和二进制数、Java Scanner类、Java StringBuilder类、Java方法、While循环和System.out.println方法。
《Java中的StringBuffer与StringBuilder类详解》 在Java编程中,当我们需要对字符串进行多次修改时,StringBuffer和StringBuilder类成为首选。这两个类提供了一种高效且灵活的方式来处理字符串,与不可变的String类...
在Java编程语言中,String和StringBuilder是两个非常重要的类,它们在处理文本字符串时起着核心作用。了解这两个类的特点和使用场景对于提高程序性能至关重要。 首先,`String`类在Java中是不可变的,这意味着一旦...
StringBuilder 类和 String 类都是 Java 中的字符串类,但是它们有着很大的不同。String 类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象,所以经常改变内容的字符串最好不要用 ...