您的位置:首页 > 编程语言 > Java开发

如何将int转换成String 在java中

2013-10-05 21:02 344 查看
方法1

int i=10;

String s=""+i;

这是利用java的toString机制来做的转换,任何类型在和String相加的时候,都会先转换成String。

方法2

int i=10;

String s=String.valueOf(i);

这是利用String类提供的工厂方法来做的转换。

哪种方法好?

第一种?比较方便。

第二种?比较高效。

下面是一段测试程序。

Random ra=new Random(new java.util.Date().getTime());

String tmp=null;

int runtimes=1000000;

int range=50;

for (int i = 0; i <runtimes; i++) {

tmp=String.valueOf(ra.nextInt(range));

}

for (int i = 0; i <runtimes; i++) {

tmp = ""+ra.nextInt(range);

}

其结果,第一个循环只用了0.841秒,而第二个,则用了2.624秒。

这是因为String类是一个不可变对象,这就使得String类可以随意的重用,而不会有问题。

事实上在系统内部是有一个String对象的缓冲池,当使用String.valueOf方法的时候,会尽

可能的从这个池中取出符合条件的对象。

所以,请尽可能的使用第二种方法来做转换,同样的情况也适用于float, double, byte等

类型向String转换的情况。

解决了我的一个大难题 ,果断收藏!

原文链接:http://hi.baidu.com/shadouyou/item/99c7d633800106d46d15e9dd
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: