比较string、stringbuffer、stringbuilder拼接效率
public class MainTest {
public static void main(String[] args) {
long n = 30000;
System.out.println("Start... "+n);
long start1 = System.currentTimeMillis();
String s1 = new String("hello");
for (long i = 0; i < n; i++)
{
s1+="拼接字符串的时间";
}
long end1 = System.currentTimeMillis();
long time1 = end1 -start1;
System.out.println("用String+=拼接字符串的时间"+time1);
long start2 = System.currentTimeMillis();
String s2 = new String("hello");
for (long i = 0; i < n; i++)
{
s2=s2+"拼接字符串的时间";
}
long end2 = System.currentTimeMillis();
long time2 = end2 -start2;
System.out.println("用String=String+拼接字符串的时间"+time2);
long start3 = System.currentTimeMillis();
String s3 = new String("hello");
for (long i = 0; i < n; i++)
{
s3=s3.concat("拼接字符串的时间");
}
long end3 = System.currentTimeMillis();
long time3 = end3 -start3;
System.out.println("用String.concat拼接字符串的时间"+time3);
long start4 = System.currentTimeMillis();
StringBuffer s4 = new StringBuffer("hello");
for (long i = 0; i < n; i++)
{
s4.append("拼接字符串的时间");
}
long end4 = System.currentTimeMillis();
long time4 = end4 -start4;
System.out.println("用StringBuffer.append拼接字符串的时间"+time4);
long start5 = System.currentTimeMillis();
StringBuilder s5 = new StringBuilder("hello");
for (long i = 0; i < n; i++)
{
s5.append("拼接字符串的时间");
}
long end5 = System.currentTimeMillis();
long time5 = end5 -start5;
System.out.println("用StringBuilder.append拼接字符串的时间"+time5);
System.out.println("End...");
}
}
输出结果:
Start... 30000
用String+=拼接字符串的时间32800
用String=String+拼接字符串的时间30609
用String.concat拼接字符串的时间14144
用StringBuffer.append拼接字符串的时间2
用StringBuilder.append拼接字符串的时间2
End...
分享到:
相关推荐
Java字符串拼接效率测试过程解析 Java字符串拼接效率测试过程解析是Java开发中非常重要的一个话题。字符串拼接是Java开发中最常见的操作之一,但是不同的拼接方式对性能的影响是巨大的。本文主要介绍了Java字符串...
今天,我们将通过测试和分析,比较 Java 中 5 种不同的字符串拼接方法的效率,并探究每种方法背后的实现原理。 第一种方法:使用 + 运算符 在 Java 中,我们可以使用 + 运算符来拼接字符串。这是最简单的方法,但其...
然而,如果涉及到大量字符串拼接,特别是在循环中,应优先考虑使用`StringBuffer`或`StringBuilder`,以提高程序的运行效率。在多线程环境中,选择`StringBuffer`;而在单线程环境中,`StringBuilder`通常是更好的...
在Java中,有多种方式可以实现字符串拼接,比如使用`+`操作符,但当拼接的字符串数量较多时,这种方式的效率较低。因此,更推荐使用`StringBuffer`或`StringBuilder`类,它们提供了一种可扩展且高效的字符串操作方法...
在Java编程语言中,字符串...以上只是Java字符串操作的一小部分,实际开发中还有许多其他方法和特性,如国际化(I18N)、正则表达式等,都需要程序员灵活掌握。理解并熟练运用这些操作,能有效提高代码质量和效率。
JAVA字符串拼接常见方法汇总 Java字符串拼接是Java编程中一个非常常见的操作,但是实现字符串拼接的方法却有多种。下面我们将详细介绍Java字符串拼接常见方法,并分析每种方法的优缺点。 一、使用“+”号连接字符...
总的来说,`StringBuilder`是Java中处理字符串拼接的关键工具,尤其在需要高效构建长字符串的场景下。它提供了灵活的方法来添加内容,且避免了不必要的内存开销。通过使用`StringBuilder`,开发者可以编写出更高效、...
4. **字符串拼接** - `+` 运算符: 可用于连接字符串,例如 `str1 + " " + str2`。 - `concat(String str)`: 直接连接两个字符串。 5. **查找与替换** - `indexOf(String str)`: 查找子字符串第一次出现的位置,...
在Java编程中,字符串拼接是一个常见的操作,但其内部机制和性能影响不容忽视。本文将深入探讨Java中字符串拼接的细节,包括不可变性、运算符重载、性能代价以及编译器的优化处理。 首先,Java中的String对象是不可...
Java字符串在编程中扮演着至关重要的角色,它们是程序中数据处理的核心部分,尤其是在文本处理、用户输入验证、数据解析等场景下。本实例“Java字符串详解 Java实例20”将深入探讨Java中的字符串处理机制,包括其...
标题中的“浅谈Java字符串Java开发Java经验技巧共11页”表明这是一份关于Java编程,特别是关于Java字符串处理的深度技术文档。在Java中,字符串是编程中经常遇到的基本数据类型,对于任何Java开发者来说,理解和掌握...
总结来说,Java字符串格式化是构建和展示文本信息的关键技术,包括使用`String.format()`和`printf()`方法,以及`StringBuilder`和`StringBuffer`类。同时,理解并处理GBK这样的特定字符编码对于处理中文字符至关...
它们提供了在不创建新对象的情况下进行字符串拼接的方法,如`append()`。与直接使用`+`运算符相比,这些类能显著减少对象创建的开销。 下面是一个简单的字符串缓存类实现示例,我们将称之为`StringCache`: ```...
那么通过如下代码,看一下在for循环中,不同的字符串拼接方式,到底哪种效率最高? package com.test.stringjoin; import org.apache.commons.lang3.StringUtils; public class Test { public static void main...
在处理字符串时,可以使用`StringBuffer`或`StringBuilder`类进行高效的字符串拼接操作,尤其在循环中,这两个类比直接使用`+`操作符更有效率。 数组和字符串在实际编程中常常结合使用,比如在一个字符串数组中存储...
在Java编程语言中,字符串的逆序输出是一个基础但重要的概念,它经常在各种问题解决中出现,例如数据处理、字符串操作等。本资源聚焦于如何利用Java编写一个程序,该程序接受用户输入的字符串,并返回这个字符串的...
总结来说,"SQL字符串按不同开发语言格式化"是一项重要的开发辅助功能,通过"SQL Pretty Printer"这样的工具,我们可以轻松地将SQL语句调整为与当前开发环境相符的格式,从而提高开发效率,减少错误,增强代码的...
以上是Java字符串处理中常用的一些方法,熟练掌握它们将极大地提升代码的效率和质量。通过深入理解和应用这些方法,开发者可以更好地处理和操纵字符串,满足各种编程需求。在实际开发中,我们应根据具体场景选择合适...
2. **字符串拼接**:可以使用`+`运算符或者`StringBuilder`/`StringBuffer`类来连接两个或多个字符串。前者适合少量操作,后者在多线程环境中更安全且效率更高。 3. **字符串方法**:`String`类提供了丰富的内置...
对于大量字符串拼接,使用`StringBuilder`或`StringBuffer`比多次使用`+`运算符更高效。两者的区别在于线程安全性:`StringBuilder`是非线程安全的,而`StringBuffer`是线程安全的,但在线程不安全的场景中,`...