JAVA中int转String类型效率比较

来源:互联网 发布:php 调用js 编辑:程序博客网 时间:2024/04/30 03:51

JAVA中int转String类型效率比较

(2009-06-30 08:59:58)
转载
标签:

杂谈

分类:Java
大家都知道JAVA中 int 类型要转化成 String 类型,可以有三种方式,分别是:
* (1) String.valueOf(i)
* (2) Integer.toString(i)
* (3) i+""


因为前两天,写一个程序时,要用到 int 转 String ,并且数据量很大,因此想看看这三种方式的效率怎样,写了一下简单的测试程序,在此记录一下。

Java代码 复制代码
  1. public class TestIntToStr {   
  2.     
  3.  public static void main(String[] args) {   
  4.   int[] intArr = new int[1000000];   
  5.   String[] strArr1 = new String[1000000];//为了公平分别定义三个数组   
  6.   
  7.   String[] strArr2 = new String[1000000];   
  8.   String[] strArr3 = new String[1000000];   
  9.   //赋值   
  10.   Long t1 = System.currentTimeMillis();   
  11.   for(int i=0;i<1000000;i++){   
  12.    intArr[i]=i+1;   
  13.   }   
  14.   Long t2 = System.currentTimeMillis();   
  15.   for(int i=0;i<1000000;i++){   
  16.     strArr1[i] = String.valueOf(intArr[i]);     
  17.   }   
  18.   Long t3 = System.currentTimeMillis();   
  19.   for(int i=0;i<1000000;i++){   
  20.    strArr2[i] = Integer.toString(intArr[i]);   
  21.   }   
  22.   Long t4 = System.currentTimeMillis();   
  23.   for(int i=0;i<1000000;i++){   
  24.    strArr3[i] = intArr[i]+"";   
  25.   }   
  26.   Long t5 = System.currentTimeMillis();   
  27.   System.out.println("t1 = "+t1);   
  28.   System.out.println("t2 = "+t2);   
  29.   System.out.println("t3 = "+t3);   
  30.   System.out.println("t4 = "+t4);   
  31.   System.out.println("t5 = "+t5);   
  32.   System.out.println("赋值:"+(t2-t1));   
  33.   System.out.println("String.valueOf(i):"+(t3-t2));   
  34.   System.out.println("Integer.toString(i):"+(t4-t3));   
  35.   System.out.println("i+/"/":"+(t5-t4));   
  36.   
  37.  }   
  38.   
  39. }  


在JDK1.5环境下测试多次:

发现:

赋值:0
String.valueOf(i):891
Integer.toString(i):468
i+"":844



String.valueOf(i)与i+""的时间差别不大。



而Integer.toString(i)时间只有它们的一半左右,即此方法效率比较高。

原创粉丝点击