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

Rob*_*Fox 3 java type-conversion

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

应该使用哪一个?

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

a_h*_*ame 5

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

坚持下去String.valueOf(int).


Jon*_*eet 5

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

"" + 1谈论字符串连接和空字符串,这两者都与你的目标无关 - 这是获取一个整数的值,如a String.

String.valueOf 准确地说出你想做什么,所以使用它.