java - 如何在我的 Java 方法中拥有两种不同的返回类型?

标签 java generics methods merge

我有两个非常相似的方法,我想合并它们(在泛型的帮助下)。但是,它们有不同的返回类型。我能做什么?

    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/

相关文章:

c# - 是否可以在 C# 方法中引用先前的参数作为参数默认值?

java - 想要在jTable中创建一个列,该列是一个复选框,但是运行时显示为 'class java.lang.Boolean'

java - 按钮和 ActionBar 忽略应用程序中定义的自定义字体

java - 如何使用RFC在JCo表中设置多个数据?

c# - 将通用参数传递给 MVC Action

R - 分配给新方法 print.list() 的问题

java - 如何将数组与多态性一起使用?

java - 在用户输入后的任何时候停止?

Java Enum 作为 Enum 中的泛型类型

C# 特化泛型类