我们都知道把一个基本数据类型转为String类型,一般有三种方式,例如:有一个Integer型数据a,可以使用i.toString()、String.valueOf(i)、i+””三种方式,三种方式的效率如何,接下来我们做一个小测试:
/**
* 把一个基本数据类型转为字符串
*/
private void testExecuteTime() {
int loopTime = 100000;
//Integer i = 0;
Long i = 0L;
long startTime;
startTime = System.currentTimeMillis();
for (int j = 0; j < loopTime; j++) {
String str = String.valueOf(i);
}
Log.e("TAG", "String.valueOf():" + (System.currentTimeMillis() - startTime) + "ms");
startTime = System.currentTimeMillis();
for (int j = 0; j < loopTime; j++) {
String str = i.toString();
}
Log.e("TAG", "Integer.toString():" + (System.currentTimeMillis() - startTime) + "ms");
startTime = System.currentTimeMillis();
for (int j = 0; j < loopTime; j++) {
String str = i + "";
}
Log.e("TAG", "i + \"\":" + (System.currentTimeMillis() - startTime) + "ms");
}
把一个基本数据类型转换为String,使用.toString()是最快的方式、String.valueOf和toString差不多、基本数据+””的效率最慢,其实这些执行都是毫秒级,现在处理器的性能都比较强悍,其实影响不大,对于用户来说,没有什么感觉,但是我们可以再写代码的时候养成一个良好的习惯,有时候不用抠这么细,毕竟不是底层的代码,应用层,主要先以实现业务功能为主,这样后续有时间可以优化,记住一点:大行不顾细谨,大理不辞小让!