基本上我想要的是,两个公共方法具有稍微不同的返回值,可以调用相同的方法来完成所需的任何工作.它们都返回私有方法的返回值,但私有方法将知道如何根据调用它的公共方法返回正确的值.
示例方法:
public Map<Type1, Type3> doSomething1();
public Map<Type2, Type3> doSomething2();
private Map<Type1/Type2, Type3> doSomething();
Run Code Online (Sandbox Code Playgroud)
因此,在上面的示例中,doSomething()返回Type1或Type2作为Map的键类型,具体取决于调用它的公共方法.它将能够执行简单的检查,并使用正确类型的对象填充地图.
也许这可以通过一些聪明的Java反射来完成?我不确定.这一切看起来都很狡猾,所以如果有更好的方法可以解决这个问题,我会全神贯注.