В большинстве случаев method(String)
лучше, чем method(Object)
, так как он более явный, он четко сообщает контракт вашего метода - вызывающий абонент знает, что вы ожидаете String
, а не Object
, для котороговы будете вызывать toString()
.
Однако, если вы реализуете, например, библиотеку журналирования с такими методами, как info(String format, Object arg)
, может быть лучше использовать Object
. Библиотека журналов не заботится, является ли аргумент String
, Long
, Integer
и т. Д., И вместо сотен перегруженных методов лучше определить только один метод, который принимает Object
.