浏览 12004 次
锁定老帖子 主题:JAVA中int转String类型效率比较
精华帖 (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)时间只有它们的一半左右,即此方法效率比较高。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-02-16
最后修改:2009-02-16
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 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
|
|
返回顶楼 | |