Автоматический .toString () при вызове метода? - PullRequest
0 голосов
/ 11 января 2009

Я получил код бывшего сотрудника. Существует много вызовов таких методов, как:

foo(val,...);

где

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

и val является целым.

Конечно, я получаю ошибку.

В качестве обходного пути я передаю "" + val в foo. Интересно, есть ли лучший способ?

Ответы [ 3 ]

11 голосов
/ 11 января 2009

В зависимости от различных типов, которые должны передаваться в качестве параметра, вы можете принять объект и вызвать .toString ()

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

или перегрузка foo для определенных типов

void foo(String s) {
  ...
}

void foo(int i){
    foo(Integer.toString(i);
}
3 голосов
/ 11 января 2009

String.valueOf (val) намного быстрее.

0 голосов
/ 11 января 2009

К сожалению, нет. Без изменения определения метода это самый быстрый и простой способ сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...