if you don't want to have a specific interface to handle that stuff you can use a generic method in this way:
public <T> T mymethod(T type)
{
return type;
}
Mind that in this way the compiler doesn't know anything about the type that you plan to use inside that method, so you should use a bound type, for example:
public <T extends YourType> T mymethod(T type)
{
// now you can use YourType methods
return type;
}
But you should be sure that you need a generic method, that means that the implementation of doIt
will be the same for all the types you are planning to use it with. Otherwise if every implementation is different just overload the methods, it will work fine since return type is not used for dynamic binding:
public String my(String s)
{
return s;
}
public int my(int s)
{
return s;
}
int i = my(23);
String s = my("lol");
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…