2009-01-11 79 views
0

我得到了一位前雇员的代码。还有像许多方法调用:调用方法时自动.toString()?

foo(val,...); 

其中

void foo(String s,...) { 
    ... 
} 

val是一个int。

当然,我得到一个错误。

作为一种解决方法,我将“”+ val传递给foo。我想知道是否有更好的方法。

回答

11

取决于应该作为参数传递的不同类型,你既可以接受的对象,然后调用的ToString()

void foo(Object o){ 
    String s=o.toString(); 
    ... 
} 

或过载富特定类型

void foo(String s) { 
    ... 
} 

void foo(int i){ 
    foo(Integer.toString(i); 
} 
+0

个人,我会使用Object参数方法。 – 2009-01-11 14:56:15

0

不幸的是,没有。在不修改方法定义的情况下,这是最快最简单的方法。

3

String.valueOf(val)要快得多。