下面的方法定义的第一部分是什么?
<I, O> MyReturnType<I, O> myMethod() { ... }
第二种是方法的返回类型,第三种是方法名,但是第一种是什么?
发布于 2017-02-10 14:03:10
I
和O
被声明为泛型类型参数。它们是由方法本身引入的泛型类型,如下所示:https://docs.oracle.com/javase/tutorial/java/generics/methods.html
泛型方法是引入它们自己的类型参数的方法。这类似于声明泛型类型,但type参数的作用域仅限于声明它的方法。允许静态和非静态泛型方法以及泛型类构造函数.
如果不声明<I, O>
,java将查找名为I
和O
的类型(因为它们应该是泛型的)。
我认为@khelwood说得很好(参见关于原始问题的评论):它的意思是:“在下面的定义中,I和O代表了一些类型,这些类型取决于调用方法时的情况。”
https://stackoverflow.com/questions/42160920
复制相似问题