我应该使用什么方法将int转换为String?

时间:2011-12-09 07:28:57

标签: java type-conversion

我知道String.valueOf(int)启用了缓存,并且通常不会导致创建额外的对象,但是("" + 1)是否会进行某种编译器优化?

应该使用哪一个?

编辑:String.valueOf(int)不启用缓存,Integer.valueof(int)会启用。

5 个答案:

答案 0 :(得分:5)

在我看来,

"" + 1是一个坏习惯,据我所知它没有以任何方式进行优化。

坚持使用String.valueOf(int)

答案 1 :(得分:5)

不,String.valueOf不执行任何缓存。但是,它比"" + 1(它也不执行任何缓存)更可读,因为它说明了你想要做的事情。

"" + 1讨论字符串连接和空字符串,它们都与你的目标无关 - 即获取整数的值,为String

String.valueOf确切地说出了你想要做的事情,所以请使用它。

答案 2 :(得分:0)

它们都是等同的,更多的是个人品味。就个人而言,我更喜欢String.valueOf(int)。

答案 3 :(得分:0)

选择明确的转化而非隐式转化。

String.valueOf(int)告诉你它到底在做什么。

虽然,我总是使用Integer.toString(int),因为我将其视为基元toString的{​​{1}}方法。

答案 4 :(得分:0)

使用String.valueOf(int)对于应用程序来说是合理的最佳选择。

""+i对您来说可能更合适,除非您有足够的时间和资源有限的设备,节省您的时间可能比节省微秒的CPU时间更有价值。