`
gybmike
  • 浏览: 182931 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

String,StringBuffer,StringBuider测试实例(转)

    博客分类:
  • java
 
阅读更多
public class ttssb {


  /**
   * Creates a new instance of testssb
   */

  final static int ttime = 3000000;// 测试循环次数

  public ttssb() {

  }


  public void test(String s) {


    long begin = System.currentTimeMillis();

    for (int i = 0; i < ttime; i++) {

      s += "add";

    }

    long over = System.currentTimeMillis();

    System.out.println(" 操作 " + s.getClass().getName() + " 类型使用的时间为: "

      + (over - begin) + " 毫秒 ");

  }

  public void test(StringBuffer s) {

    long begin = System.currentTimeMillis();

    for (int i = 0; i < ttime; i++) {

      s.append("add");

    }

    long over = System.currentTimeMillis();

    System.out.println(" 操作 " + s.getClass().getName() + " 类型使用的时间为: "

      + (over - begin) + " 毫秒 ");

  }

  public void test(StringBuilder s) {

    long begin = System.currentTimeMillis();

    for (int i = 0; i < ttime; i++) {

      s.append("add");

    }

    long over = System.currentTimeMillis();

    System.out.println(" 操作 " + s.getClass().getName() + " 类型使用的时间为: "

      + (over - begin) + " 毫秒 ");

  }

  // 对 String 直接进行字符串拼接的测试

  public void test2() {

    String s2 = "abadf";

    long begin = System.currentTimeMillis();

    for (int i = 0; i < ttime; i++) {

      String s = s2 + s2 + s2;

    }

    long over = System.currentTimeMillis();

    System.out.println(" 操作字符串对象引用相加类型使用的时间为: "

      + (over - begin) + " 毫秒 ");

  }

  public void test3() {

    long begin = System.currentTimeMillis();

    for (int i = 0; i < ttime; i++) {

      String s = "abadf" + "abadf" + "abadf";

    }

    long over = System.currentTimeMillis();

    System.out.println(" 操作字符串相加使用的时间为: "

      + (over - begin) + " 毫秒 ");

  }


  public static void main(String[] args) {

    String s1 = "abc";

    StringBuffer sb1 = new StringBuffer("abc");

    StringBuilder sb2 = new StringBuilder("abc");

    ttssb t = new ttssb();

//    t.test(s1);

    t.test(sb1);

    t.test(sb2);

//    t.test2();

//    t.test3();

  }

}

分享到:
评论

相关推荐

    String StringBuffer和StringBuilder区别之源码解析

    "String StringBuffer和StringBuilder区别之源码解析" 在Java中,字符串是我们经常使用的数据类型,而String、StringBuffer和StringBuilder是Java中三种常用的字符串类。在这篇文章中,我们将从源码角度对String、...

    string与stringbuffer的区别

    字符串在Java中的表现形式主要有两种:`String`和`StringBuffer`(或者`StringBuilder`)。它们之间的主要区别在于可变性、性能和使用场景。 1. **不可变性**: `String`类是不可变的,这意味着一旦创建了一个`...

    String、StringBuffer与StringBuilder之间区别

     StringBuffer:字符创变量  StringBuilder:字符创变量  从上面的名字可以看到,String是“字符创常量”,也就是不可改变的对象。对于这句话的理解你可能会产生这样一个疑问 ,比如这段代码:

    String-StringBuffer-StringBuilder

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`都是用来处理字符串的类,但它们之间存在显著的差异,主要体现在性能、线程安全性和使用场景上。 首先,`String`是最基本的字符串类,它代表的是不可...

    String ,StringBuffer与StringBuilder

    String, StringBuffer 与 StringBuilder 的区别 在 Java 中,String, StringBuffer 和 StringBuilder 三个类都是用于字符操作的,但它们之间有着很大的区别。 首先,String 是不可变类,意味着一旦创建了 String ...

    String、StringBuffer、StringBuilder的使用方法

    在Java编程语言中,`String`、`StringBuffer`和`StringBuilder`是处理字符串的三个重要类,它们各自有特定的使用场景和优缺点。理解它们的差异对于编写高效的代码至关重要。 **String类** `String`是不可变的类,...

    String及StringBuffer和StringBuilder的区别

    但是,在某些特别情况下,String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢。 线程安全性 StringBuffer 是线程安全的,而 ...

    String、StringBuilder和StringBuffer的区别

    在Java编程语言中,String、StringBuilder和StringBuffer都是用来处理字符串的类,它们之间存在一些重要的区别,主要涉及到性能和线程安全性。 首先,`String`类代表的是字符串常量,一旦创建,其内容就不能改变。...

    java中 String和StringBuffer的区别实例详解

    Java中String和StringBuffer的区别实例详解 Java中String和StringBuffer都是用来存储字符串的对象,但是它们之间有着很大的区别。下面我们来详细介绍Java中String和StringBuffer的区别实例详解。 首先,String是不...

    javaString 和StringBuffer的区别

    JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数值不可改变的字符串.而这个StringBuffer类提供的字符串进行修改.当你知道字符数据要改变的时候...

    string和StringBuffer的区别

    在Java编程语言中,`String`和`StringBuffer`都是用来表示和操作字符串的重要类,但它们在使用场景和性能上有显著的区别。了解这些差异对于编写高效、优化的代码至关重要。 首先,`String`类是不可变的。这意味着...

    String和StringBuffer的区别

    在Java编程语言中,`String`和`StringBuffer`都是用来表示和操作字符串的重要类,但它们在性能和使用场景上有显著的区别。 首先,`String`类是不可变的,这意味着一旦创建了一个`String`对象,它的内容就不能改变。...

    String与StringBuffer区别详解

    在Java编程语言中,`String`和`StringBuffer`(在Java 5之后被`StringBuilder`取代,但在多线程环境中仍然使用`StringBuffer`)是处理文本字符串的两个核心类,它们各自有着不同的特性和用途。理解它们的区别对于...

    StringBuffer和String_区别

    ### StringBuffer与String的区别详解 #### 一、概念与特性 **String** 是 Java 中一个不可变的类,代表了字符序列。一旦一个 String 对象被创建后,其内容就不能被改变。这使得 String 类非常适合用来表示常量或者...

    java面试笔试题String 和StringBuffer的区别

    在Java编程语言中,`String`与`StringBuffer`是两个重要的字符串处理类,它们各自具有独特的特性和用途,尤其在面试或笔试中常被提及作为考察应聘者对Java基础知识掌握程度的重要知识点。 ### `String`类:不可变性...

    String 和StringBuffer的区别

    从非常细致的角度分析了String和Stringbuffer的主要区别

    JAVA中String与StringBuffer的区别 自己的学习笔记总结

    下面通过一个具体的性能测试示例来进一步说明 `String` 和 `StringBuffer` 的性能差异: ```java public class PerformanceTest { public static void main(String[] args) { final int times = 5000; String ...

    String和StringBuffer详细用法总结

    根据给定的信息,本文将对`String`与`StringBuffer`在Java中的使用进行详细的解析与对比,并结合实例深入分析二者的异同及其适用场景。 ### `String` 和 `StringBuffer` 的基本概念 #### `String` 在Java中,`...

    String&Stringbuffer

    ### String与StringBuffer知识点详解 #### 一、String与StringBuffer基本概念 **String**:在Java中,`String`类表示不可变的字符序列,它是最常用的字符串类。一旦创建了一个`String`对象,其内容便无法改变。这...

Global site tag (gtag.js) - Google Analytics