论坛首页 入门技术论坛

JAVA中int转String类型效率比较

浏览 11963 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-10-14  
KOP注:这篇文章写在2006-09-24 ,那时我还在学校。现在想整理一下以前的东西,发在我刚开的javaeye的博客中。

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


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

public class TestIntToStr {
 
 public static void main(String[] args) {
  int[] intArr = new int[1000000];
  String[] strArr1 = new String[1000000];//为了公平分别定义三个数组

  String[] strArr2 = new String[1000000];
  String[] strArr3 = new String[1000000];
  //赋值
  Long t1 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
   intArr[i]=i+1;
  }
  Long t2 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
    strArr1[i] = String.valueOf(intArr[i]);  
  }
  Long t3 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
   strArr2[i] = Integer.toString(intArr[i]);
  }
  Long t4 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
   strArr3[i] = intArr[i]+"";
  }
  Long t5 = System.currentTimeMillis();
  System.out.println("t1 = "+t1);
  System.out.println("t2 = "+t2);
  System.out.println("t3 = "+t3);
  System.out.println("t4 = "+t4);
  System.out.println("t5 = "+t5);
  System.out.println("赋值:"+(t2-t1));
  System.out.println("String.valueOf(i):"+(t3-t2));
  System.out.println("Integer.toString(i):"+(t4-t3));
  System.out.println("i+\"\":"+(t5-t4));

 }

}



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

发现:

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



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



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

   发表时间:2009-02-16   最后修改:2009-02-16

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
什么意思?哪个地方需要怎么设置?试了下10万数据量时还好,超过100万就不行了.

1234719707265

1234719707281

赋值: 16

String.valueOf(): 140

Integer.toString() :94

i+ ""    :141

附件:D:\Program Files\MyEclipse 6.6\eclipse\eclipse.ini

 

-clean
-showsplash
com.genuitec.myeclipse.product.ide
--launcher.XXMaxPermSize
256m
-vmargs
-Xms512m	
-Xmx1024m 
-Duser.language=en 
-XX:PermSize=128M 
-XX:MaxPermSize=256M
 

 

 

 

 

0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics