日期:2014-05-20  浏览次数:20727 次

int转string型,说说哪个效率高,以后做项目习惯用哪种转型
1.) String s = String.valueOf(i);

2.) String s = Integer.toString(i); 

3.) String s = "" + i;  


String.valueOf()这个方法,里面其实就是调用了 Integer.toString(i, 10)这个方法,我觉得用第二个比第一个好,但是第三个,我觉得不好,+"",说说原理,

------解决方案--------------------
String的valueOf
Java code

public static String valueOf(int i) {
   return Integer.toString(i, 10);
}

------解决方案--------------------
我觉得项目真正的效率不应该体现在这里吧,
前两种写法效率差不到哪里去。。。
------解决方案--------------------
3.) String s = "" + i; 运算时会自动提升表达式的类型,所以结果是String型
------解决方案--------------------
1.) String s = String.valueOf(i);
2.) String s = Integer.toString(i);
二者基本上等价

3.) String s = "" + i;
这个是调用new StringBuilder().append("").append(i).toString();




------解决方案--------------------
影响java程序效率的根本不在这种问题上,主要是IO操作和可能存在的网络连接,或者数据库驱动的加载等,对于复杂的算法也可能有优化的地方。

如果学习java掉在这样的问题里面,实在是拣了芝麻丢了西瓜,有更多提升程序效率的东西去学习,比如处理字符的正则表达式来优化效率等等。

你说的这几个表达式 从性能上基本没啥大的影响