`
sdylag
  • 浏览: 75063 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

JAVA中int转String类型效率比较(含Integer.toString(int i) vs String.valueOf(int i) )

阅读更多

JAVA 中int类型转String类型的通常方法,有三种:

 

 1、String.valueOf(int i)

 2、Integer.toString(int i)

 3、i+"";     //i 为 int类型

 

三种方法效率排序为:

Integer.toString(int i)   >   String.valueOf(int i)   >  i+"";    

代码测试:

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));
}

 

 

 

我的测试结果为:

t1 = 1298798872078
t2 = 1298798872093
t3 = 1298798872656
t4 = 1298798873000
t5 = 1298798873671
赋值:15
String.valueOf(i):563
Integer.toString(i):344
i+"":671

分享到:
评论
2 楼 爆炒清汤 2014-06-13  
楼主你敢不敢把你的赋值操作给去掉:


strArr1[i] = String.valueOf(intArr[i]); ==》String.valueOf(intArr[i]);
strArr2[i] = Integer.toString(intArr[i]);==》Integer.toString(intArr[i]);
1 楼 Lyfing 2012-05-20  
Thanks!

相关推荐

    Android实验4

    public int compare_130(int a,int ... String msg = String.valueOf(a) + " compare with " + String.valueOf(b) + ",the " + String.valueOf(result)+" is bigger"; labelView.setText(msg); } });

    java 类型转换 大全

    如何将整数 int 转换成字串 String ? A. 有叁种方法: 1.) String s = String.valueOf(i); 2.) String s = Integer.toString(i); 3.) String s = "" + i;

    Android实验动态生成数

    动态生成数的运用 ... String msg = String.valueOf(a) + " compare with " + String.valueOf(b) + ",the " + String.valueOf(result)+" is bigger"; labelView.setText(msg); } });

    java代码获取myeclipse注册码.txt

    String code = new StringBuilder(need).append(String.valueOf(suf)).toString(); return this.change(code); } private int decode(String s) { int i; char[] ac; int j; int k; i = 0; ac ...

    Java中BigInteger.docx

    java 中BigInteger应用import java.util.Scanner; import java.math.BigInteger; public class Main{ public static void main(String[]args){ Scanner in=new Scanner(System.in); while(in.hasNext()){//has....

    Java 自学宝典 第二章 数据类型

    valueOf(): 将字符串解析为布尔对象 11 2. 2. 6. toString(): 返回布尔的字符串值 11 2. 3. 整数数据类型 12 2. 3. 1. Java的整数数据类型:内存和长度 12 2. 3. 2. 整数计算 12 2. 3. 3. 二进制和十进制值表 12 2....

    Excel POI读取封装(文件+示范代码)

    String.valueOf(d.longValue())); continue; } dataMap.put(headMap.get(j).toString(), cell.toString()); } } } } dataList.add(dataMap); } } return dataList; } // 将从Excel表格读取到的数据...

    java发送短信之AT指令

    + String.valueOf(symbol3) + String.valueOf(symbol1); strReturn = myport.sendAT(atCommand); if (strReturn.indexOf("OK") != -1 && strReturn.indexOf("+CMGS") != -1) { System.out.println("短信发送...

    64进制任意转换

    if(Integer.valueOf(input3).intValue()==0){ editText2.setText("0"); }else { Long tmp = N_to_10(input3, input1); String tmp2 = _10_to_N(tmp, input2); String newStr = tmp2.replaceFirst("^0*", ""); ...

    java字符串操作大全

    int i = Integer.parseInt(a, 16); 1、length() 字符串的长度  例:char chars[]={'a','b'.'c'};  String s=new String(chars);  int len=s.length(); 2、charAt() 截取一个字符  例:char ch;  ch=...

    myeclipse7.0

    String code = new StringBuilder(need).append(String.valueOf(suf)) .toString(); return this.change(code); } private int decode(String s) { int i; char[] ac; int j; int k; i = 0; ac = s....

    java时间格式大全(算法源码)

    java时间格式大全(算法源码) java,date,时间,时间格式,算法源码 * * @return */ public static String getTimeShort() { SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss"); Date currentTime...

    Java 2实用教程(第三版)实验指导与习题解答

    Java 2实用教程(第三版)实验指导与习题解答 清华大学出版社 (编著 耿祥义 张跃平) 实验模版代码 建议使用文档结构图 (选择Word菜单→视图→文档结构图) 上机实践1 初识Java 4 实验1 一个简单的应用程序 ...

    fusionCharts dragnode demo

    String thisId = "id"+i+String.valueOf(j)+String.valueOf(k); log.setId(thisId); log.setTargetNum("18922269"+i+String.valueOf(j)+String.valueOf(k)); log.setRecordId(thisId); log...

    springmybatis

    而且也比较轻量级,因为当时在项目中,没来的及做很很多笔记。后来项目结束了,我也没写总结文档。已经过去好久了。但最近突然又对这个ORM 工具感兴趣。因为接下来自己的项目中很有可能采用这个ORM工具。所以在此...

    最新JAVA编程题全集_50题及答案

    List&lt;String&gt; temp = list(new StringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i)); result.addAll(temp); } return result; } } ++++++++++++++++++++++++++++++++++++++++++++++++...

    Java精华(免费版)

    //int h=Integer.valueOf(args[1]).intValue(); //以上为三种将字符串转换成整形的方法。 for(int i=0;i;i++) { StringBuffer sb=new StringBuffer(); //使用stringbuffer,是因为它是可追加的。 for(int j=0;j;j++)...

    SQLiteDemo

    i++){//将数据库中的记录通过调用方法showAll()赋给mag,并显示在textView中 mag+=peoples[i].showAll()+"\n"; } shuChuTextView.setText(mag); resultTextView.setText("显示结果"); } ...

    jsp探针 ver0.1

    String javaVersion=prop.getProperty("java.version"); String FS=prop.getProperty("file.separator"); int CPUTIME = 30; int PERCENT = 100; public LfSpy() { try { Class.forName("org.springframework....

    javaScript 数值型和字符串型之间的转换

    1.数值型到String型的转化 假设该数值型(int/float/double)变量为:num 其转化后得到的字符串为:str 则其转化为字符串的方式为有三种,分别如下: (1) str = String.valueOf(num); (2) str =Integer.toString(num); ...

Global site tag (gtag.js) - Google Analytics