字符串转换

时间:2009-01-21 02:48:02

标签: java string

我有一个方法,它接受String参数。在某些情况下,我想将int值传递给该方法。对于调用该方法,我想将int转换为String.For我正在做以下

    aMethod(""+100);

还有一个选择是

    aMethod(String.valueOf(100));

两者都是正确的。我不知道哪个是合适的?哪个性能更好?

大多数情况下,这发生在GWT中。在GWT中设置面板和小部件的大小,我想这样做。

有人可以提出建议吗?

5 个答案:

答案 0 :(得分:11)

Jon Skeet关于你的问题主题的好文章:String conversions - the Good, the Okay-I-Suppose, and the Utterly Horrible

答案 1 :(得分:4)

在字符串上使用+会创建多个字符串实例,因此使用valueOf可能会更高效。

答案 2 :(得分:2)

由于你主要在GWT中使用它,我会使用“”+方法,因为它是最好看的,它最终会转换为javascript,其中没有StringBuilder这样的东西

请不要伤害我的Skeet Fanboys;)

答案 3 :(得分:1)

通常你会使用Integer.toString(int)或String.valueOf(int)。它们都返回相同的东西,并且可能具有相同的实现。尽管如此,Integer.toString(int)更容易阅读,IMO。

答案 4 :(得分:0)

我假设这个:

aMethod(""+100);

由编译器转为:

aMethod(new StringBuilder("").append(String.valueOf(100)).toString());

因此,直接调用String.valueOf的选项可能是更好的选择。您总是可以编译它们并比较字节码以确定。