2017-02-10 42 views
2

以下函数定义的第一部分是什么?下面的函数定义是什么意思?

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

第二是函数的返回类型,第三个是函数的名称,但什么是第一位的?

+0

https://docs.oracle.com/javase/tutorial/java/generics/methods.html –

+5

''正在声明函数的泛型类型参数。它的意思是“在下面的定义中,'I'和'O'代表某些类型,这些类型取决于调用该方法时的情况。” – khelwood

回答

2

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

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

如果不申报<I, O>,java会查找类型称为IO(这不会在那里,因为他们应该是通用的)。

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

相关问题