2009-01-11 24 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)要快得多。