java接口和返回类型

java接口和返回类型,java,interface,Java,Interface,我已经试了一段时间了,但现在我想知道我能不能。接口中的方法是否可能返回变量或数组而不需要两个接口或方法(如果可能)?有什么问题 interface Foo{ int foo1(); //or.... int[] foo2(); } ?每个方法都必须指定返回类型并坚持使用它。没有像“返回字符串或int[]”这样的“联合类型” 如果你真的有一个方法可以返回两个不同的东西,你可以 制作一个包装器类型(StringOrIntArray),可以同时容纳这两种类型 或 让方法

我已经试了一段时间了,但现在我想知道我能不能。接口中的方法是否可能返回变量或数组而不需要两个接口或方法(如果可能)?

有什么问题

interface Foo{
    int foo1();
    //or....
    int[] foo2();
}

每个方法都必须指定返回类型并坚持使用它。没有像“返回字符串或int[]”这样的“联合类型”

如果你真的有一个方法可以返回两个不同的东西,你可以

  • 制作一个包装器类型(
    StringOrIntArray
    ),可以同时容纳这两种类型

  • 让方法返回
    Object
    ,它可以是几乎任何东西,包括数组,并在调用者处使用
    instanceof
    查看您得到了什么

这两种选择都不是特别有吸引力。也许退一步,重新考虑一下大局。

什么?你为什么不试试呢?我完全不知道你在问什么。通过阅读这篇文章,我想这篇文章会让你更清楚OP在问什么+1因为他不想要两个methods@user2310289这就是为什么我把
\\或..
放进去。他不需要将这两个函数都放在接口中,如果他使用
intfoo1(),只需要一个-他如何返回数组?@user2310289他没有。他说的是变量或数组,不是两者都有。那么你是说@Thilo的答案毫无意义。如果我对你说,请提供一项服务,让你的顾客可以点咖啡或茶,那么如果你提供的服务只提供茶,这是正确的吗?