对于int转换成String的效率问题,以前一直都不注意,现特别测试了一下,得出结论:
1.String str = int+”“;效率最低,
2.次之:String str = “”+i;比1 要快近一倍。
3,比较高 String str = String.valueOf(int);效率要高多了,比2要快近一倍,比1要快近三倍。
4,比较高 String str = Integer.toString(int);效率跟3 不分上下,时低时高。
测试代码:
Date start=new Date(),end=new Date();
String strs="";
start = new Date();
for(int i = 0;i<1000000;i++){
strs = i+"";
}
end=new Date();
System.out.println(end.getTime()-start.getTime()+"\ti+''");
start = new Date();
for(int i = 0;i<1000000;i++){
strs = ""+i;
}
end=new Date();
System.out.println(end.getTime()-start.getTime()+"\t''+i");
start = new Date();
for(int i = 0;i<1000000;i++){
strs = String.valueOf(i);
}
end=new Date();
System.out.println(end.getTime()-start.getTime()+"\tString.valueOf(i)");
start = new Date();
for(int i = 0;i<1000000;i++){
strs = Integer.toString(i);
}
end=new Date();
System.out.println(end.getTime()-start.getTime()+"\tInteger.toString(i)");
运行结果一:
281 i+”
141 ”+i
93 String.valueOf(i)
78 Integer.toString(i)
运行结果二:
250 i+”
141 ”+i
78 String.valueOf(i)
94 Integer.toString(i)