一个String对象的长度是固定 的,不能更改其内容。当你用“+”连接两个字符串从而创建新的字符串时,你其实创建了一个新的String对象。如果频繁的这样子操作,就会产生大量的垃圾并且效率低。
这种情况下可以考虑使用StringBuilder。
/*
* 作者:阳光的味道
* 功能:示范String类的对象的intern()方法
* 日期:2010/11/07
* */
public class AppedStringTest {
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("String的执行时间:" + (endTime - beginTime));
StringBuilder builder = new StringBuilder();
beginTime = System.currentTimeMillis();
for(int i = 0 ; i < 10000 ; i ++){
builder.append(i);
}
endTime = System.currentTimeMillis();
System.out.println("StringBuilder执行时间:" + (endTime - beginTime));
}
}
/*
* out:
* String的执行时间:420
StringBuilder执行时间:3*/
StringBuilder是jdk5.0中新增的类,在之前使用的是java.lang.String.Buffer。事实上,StingBuilder被设计为与StringBuffer具有相同操作的接口。在单机非多线程的情况下使用StringBuilder会有较高的效率,这是因为StringBuilder没有处理同步(Synchronized)问题。而StringBuffer则会处理同步问题,其在多线程中应用较多。
分享到:
相关推荐
StringBuilder拓展方法示例源码 项目描述 源码演示了手动给StringBuilder添加拓展方法IndexOf string的一些方法StringBuilder没有,我们可以灵活的给他 拓展一下。把自己需要的方法添加上。以后在项目里直接引用一下...
StringBuilder类在.NET框架中扮演着重要的角色,特别是在大量字符串操作时提高性能。以下是对这些概念的详细解释: **Ajax(异步JavaScript和XML)** Ajax的核心在于能够在不刷新整个页面的情况下与服务器交换数据...
通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。 设置容量和长度 虽然 StringBuilder 对象是动态对象,允许扩充它所封装的字符串中字符的数量,但是您...
java.StringBuilder(处理方案示例).md
#### 五、示例代码 下面是一个简单的例子,展示了如何使用`StringBuilder`: ```java public class StringBuilderExample { public static void main(String[] args) { StringBuilder sb = new StringBuilder(...
本资源提供的"C#源代码-使用StringBuilder来拼接HTML中的Table表格"就是一个关于如何高效地构建HTML表格的示例。StringBuilder类在C#中用于字符串操作,特别是在需要频繁进行字符串拼接的情况下,它比使用"+"或...
以下是一些示例代码,用于演示如何使用 `String` 和 `StringBuilder` 类: ```csharp // 使用 String 进行字符串拼接 string str1 = "Hello"; string str2 = "World"; string result1 = str1 + " " + str2; // ...
以下是一个简单的`StringBuilder`实现示例: ```cpp #include #include class StringBuilder { public: // 构造函数,初始化容量 StringBuilder(size_t initialCapacity = 16) : capacity(initialCapacity), ...
- 以下是一个简单的示例,展示了如何使用`StringBuilder`构建SQL查询: ```java StringBuilder sql = new StringBuilder(); sql.append("SELECT "); sql.append("column1, column2"); sql.append(" FROM "); ...
StringBuilder的运行效率测试示例 在本示例中,我们将测试 StringBuilder 的运行效率,并与 string 进行比较,以便更好地理解它们之间的差异。 StringBuilder 的概述 StringBuilder 是一个可变的字符串对象,它...
在C#编程语言中,`StringBuilder`类是一个非常重要的工具,尤其当涉及到字符串操作时,其性能优势相较于传统的`string`类型更为显著。本文将深入探讨`StringBuilder`的使用方法,包括其初始化、扩容机制以及主要的...
4. **使用示例**: ```csharp StringBuilder sql = new StringBuilder(); sql.Append("SELECT * FROM Customers WHERE "); if (!string.IsNullOrEmpty(name)) sql.Append("Name = @name AND "); if (age > 0) ...
这篇资源可能是提供了一些关于在WinForm应用中如何有效利用StringBuilder类的源代码示例。 StringBuilder类是System.Text命名空间的一部分,它是String类的一个替代,当需要频繁地添加、删除或修改字符串时,...
**三、StringBuilder的示例** 与 `StringBuffer` 类似,`StringBuilder` 的用法也包括 `append()`、`insert()`、`deleteCharAt()` 和 `reverse()` 方法。 **四、为什么StringBuffer和StringBuilder更适合在循环中...
此示例将在控制台上显示"The value is: $25.00"。`Insert` 方法允许您在现有字符串的特定位置插入文本或对象。以下代码在已有的StringBuilder对象的中间插入一个字符串: StringBuilder MyStringBuilder = new ...
通过用一个重载的构造函数方法初始化变量,可以创建 StringBuilder 类的新实例,正如以下示例中所阐释的那样。 [C#] StringBuilder MyStringBuilder = new StringBuilder("Hello World!"); 设置容量和长度 虽然 ...
day13-String和StringBuilder 1.String类 1.1字符串的比较【理解】 1.1.1==号的作用 比较基本数据类型:比较的是具体的值 比较引用数据类型:比较的是对象地址值 1.1.2equals方法的作用 方法介绍 示例代码 ...
这个"C#源代码-StringBuilder.zip"压缩包很可能是包含了关于`StringBuilder`类的一些示例代码或者实现,帮助我们更深入地理解如何有效地使用这个类。 `StringBuilder`类位于`System.Text`命名空间下,它是线程安全...