调用方法时自动.toString()?

时间:2009-01-11 14:47:53

标签: java

我得到了一名前雇员的代码。对方法的调用很多,如:

foo(val,...);

其中

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

和val是一个int。

当然,我收到了错误。

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

3 个答案:

答案 0 :(得分:11)

取决于应该作为参数传递的不同类型,您可以接受一个对象并调用.toString()

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

或特定类型的重载foo

void foo(String s) {
  ...
}

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

答案 1 :(得分:3)

String.valueOf(val)要快得多。

答案 2 :(得分:0)

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