如何在不使用强制转换的情况下选择要调用的方法的重载版本?

K. *_*ter 6 java methods overloading dispatch

我对Java Overload Methods有疑问.

假设我有一个重载方法foo:

public static String foo(String x) {
    return "foo-String: " + x;
}

public static String foo(Object x) {
    return "foo-Object: " + x;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现像这样的功能

public static String useString() {
    return(foo("useString"));   
}
public static String useObject() {
    return(foo("useObject"));   
}
Run Code Online (Sandbox Code Playgroud)

其中一个使用重载的字符串方法,一个是重载的对象方法?

foo-Method的调用应该使用String输入.(这意味着我不想和演员一起工作

return(foo((Object)"useObject")); 
Run Code Online (Sandbox Code Playgroud)

也许你可以帮我解决这个问题

编辑:

上面,只是练习的一个例子.我试图更好地理解OverloadsDispatch,并且正在寻找用于调用(和选择)重载方法的替代解决方案.

CKi*_*ing 3

如果我们暂时搁置其背后的动机并尝试回答直接问题,您可以创建一个对象引用而不是使用显式强制转换。

public static String useObject() {
    Object obj = "useObject";
    return foo(obj);   
}
Run Code Online (Sandbox Code Playgroud)

虽然最终结果是相同的,但您可以避免使用此方法进行显式强制转换