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

Bur*_*ard 0 java

我得到了一名前雇员的代码.有许多调用方法,如:

foo(val,...);
Run Code Online (Sandbox Code Playgroud)

哪里

void foo(String s,...) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

和val是一个int.

当然,我收到了一个错误.

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

lcv*_*nny 11

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

void foo(Object o){
   String s=o.toString();
   ...
}
Run Code Online (Sandbox Code Playgroud)

或特定类型的超载foo

void foo(String s) {
  ...
}

void foo(int i){
    foo(Integer.toString(i);
}
Run Code Online (Sandbox Code Playgroud)