我有两种非常相似的方法,我想将它们合并(借助泛型)。但是,它们具有不同的返回类型。我能做什么?
public static <A, B> A veggie(MyList <Box<A, B>> b, int j) {
A veggieA = b.head.first;
return veggieA;
}
public static <A, B> B veggie2(MyList <Box<A, B>> b, int j) {
B veggieB = b.head.second;
return veggieB;
}
最佳答案
在Java 7中,您无法仅通过返回类型来区分。Java6有一个错误,该错误使您可以执行此操作,但我不建议您使用它。
这意味着您不能不进行返回类型Object
或进行未经检查的强制转换而合并它们,这不是一个好主意。
在您的示例中,我将使方法名称不同,因此很明显,您将获得第一个或第二个。
关于java - 我的Java方法中如何有两种不同的返回类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14257180/