小编The*_*ant的帖子

根据调用方法更改返回类型

基本上我想要的是,两个公共方法具有稍微不同的返回值,可以调用相同的方法来完成所需的任何工作.它们都返回私有方法的返回值,但私有方法将知道如何根据调用它的公共方法返回正确的值.

示例方法:

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反射来完成?我不确定.这一切看起来都很狡猾,所以如果有更好的方法可以解决这个问题,我会全神贯注.

java generics reflection typing return-value

4
推荐指数
1
解决办法
1309
查看次数

标签 统计

generics ×1

java ×1

reflection ×1

return-value ×1

typing ×1