JAVA中int与string互转的效率对比
来源:互联网 发布:icloud照片怎么导入mac 编辑:程序博客网 时间:2024/05/17 07:25
今天突然心血来潮,想看看int与string互转的效率,所以试一下。
1.int转string对比
众所周知,int转string有三种方法:
<pre name="code" class="html">* (1) String.valueOf(i)* (2) Integer.toString(i)* (3) i + ""下面是对比:
public class TestInt2String {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.nanoTime();for (int i = 0; i < 1000000; i++) {intArr[i] = i + 1;}Long t2 = System.nanoTime();for (int i = 0; i < 1000000; i++) {strArr1[i] = String.valueOf(intArr[i]);}Long t3 = System.nanoTime();for (int i = 0; i < 1000000; i++) {strArr2[i] = Integer.toString(intArr[i]);}Long t4 = System.nanoTime();for (int i = 0; i < 1000000; i++) {strArr3[i] = intArr[i] + "";}Long t5 = System.nanoTime();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)/1e6);System.out.println("String.valueOf(i):" + (t3 - t2)/1e6);System.out.println("Integer.toString(i):" + (t4 - t3)/1e6);System.out.println("i+\"\":" + (t5 - t4)/1e6);}}
结果如下:
t1 = 19060665491808t2 = 19060671491829t3 = 19060801637489t4 = 19060834225943t5 = 19061039822991赋值:6.000021String.valueOf(i):130.14566Integer.toString(i):32.588454i+"":205.597048
可以看出来,Integer.toString是最快的。
2.string转int对比
string转int
* (1) Integer.parseInt(str)* (2) Integer.valueOf(s).intValue()下面是对比:
public static void main(String[] args) {String[] strArr = new String[1000000];int[] intArr1 = new int[1000000];// 为了公平分别定义三个数组int[] intArr2 = new int[1000000];int[] intArr3 = new int[1000000];// 赋值Long t1 = System.nanoTime();for (int i = 0; i < 1000000; i++) {strArr[i] = Integer.toString(i + 1);}Long t2 = System.nanoTime();for (int i = 0; i < 1000000; i++) {intArr1[i] = Integer.parseInt(strArr[i]);}Long t3 = System.nanoTime();for (int i = 0; i < 1000000; i++) {intArr2[i] = Integer.valueOf(strArr[i]);}Long t4 = System.nanoTime();for (int i=0;i<1000000;i++){intArr3[i] = Integer.valueOf(strArr[i]).intValue();}Long t5 = System.nanoTime();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) / 1e6);System.out.println("Integer.parseInt(s):" + (t3 - t2) / 1e6);System.out.println("Integer.valueOf:" + (t4 - t3) / 1e6);System.out.println("Integer.valueOf(s).intValue()" + (t5 - t4) / 1e6);}
结果如下:
t1 = 20125416119650t2 = 20125513532523t3 = 20125542724055t4 = 20125569908737t5 = 20125596152378赋值:97.412873Integer.parseInt(s):29.191532Integer.valueOf:27.184682Integer.valueOf(s).intValue()26.243641可以看出,基本上相同。
0 0
- JAVA中int与string互转的效率对比
- java int转String所有方式的效率对比与深入解析
- Java中int转String 和 String转int 各方法效率对比
- JAVA中int转String类型效率比较
- JAVA中int转String类型效率比较
- int 转 String 的效率大比拼
- int 转 String 的效率大比拼
- Java-int与string类型互转
- java中int和String的类型互转
- java中String,StringBuffer,StringBuilder拼接效率对比
- java中String,StringBuffer,StringBuilder拼接效率对比
- JAVA中int与String的类型转换
- Java中int与String类型的互相转换
- Java中int与String类型间的相互转换
- 【Android】JAVA中String与int的转换
- java中String与Int的相互转换
- java中Int与String的相互转化方法
- (基础)java中String与int的相互转换
- 将字符串变量转换成临时表
- Android软键盘强制弹出,隐藏输入法.
- json集合字符串转对象
- Python http 请求笔记
- Sping之Bean的生命周期
- JAVA中int与string互转的效率对比
- Java代理模式
- git生成ssh key及本地解决多个ssh key的问题
- JS 打开新窗口的方法
- Bluetooth之蓝牙scan 全程分析
- 快速学会缓存工具DiskLruCache
- 获取当前年月日和星期
- ZOJ 1008 Gnome Tetravex
- 网站的安全架构