我有两个非常相似的方法,我想合并它们(在泛型的帮助下)。但是,它们有不同的返回类型。我能做什么?
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 中,您无法仅通过返回类型进行区分。Java 6 有一个错误,允许您执行此操作,但我不建议使用它。
这意味着如果不设置返回类型 Object
或进行未经检查的强制转换,就无法合并它们,这不是一个好主意。
在您的示例中,我将使方法名称不同,因此很明显您将获得第一个或第二个。
关于java - 如何在我的 Java 方法中拥有两种不同的返回类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257180/