以下方法定义的含义是什么?

时间:2017-02-10 13:46:29

标签: java function generics

以下方法定义的第一部分是什么?

<I, O> MyReturnType<I, O> myMethod() { ... }

第二个是方法&#39; sreturn类型,第三个是方法名称,但第一个是什么?

1 个答案:

答案 0 :(得分:2)

IO被声明为泛型类型参数。它们是方法本身引入的泛型类型,如下所述:https://docs.oracle.com/javase/tutorial/java/generics/methods.html

  

通用方法是引入自己的类型参数的方法。这类似于声明泛型类型,但类型参数的范围仅限于声明它的方法。允许使用静态和非静态泛型方法,以及泛型类构造函数。

如果你没有声明<I, O>,java会查找名为IO的类型(它们不会存在,因为它们应该是通用的)。

我认为@khelwood说得很好(参见对原始问题的评论):它说:“在下面的定义中,I和O代表某些类型,这些类型取决于调用该方法时的情况。”