我想知道为什么不返回任何void
的泛型方法被这样声明(或者可以这样声明):
public static <E> void printArray( E[] inputArray ) {
// Display array elements
for ( E element : inputArray ){
System.out.printf( "%s ", element );
}
System.out.println();
}
看起来<E>
是返回对象的类型,但该方法实际上不返回任何内容。那么,在这种情况下,<E>
的真正含义是什么?
发布于 2013-04-04 21:22:07
这个问题很适合我以前的一个笔记。我希望这个插图能有所帮助:
发布于 2012-07-08 01:41:51
它不是返回对象的类型。它指示方法签名中的E
是泛型类型,而不是具体类型。如果没有它,编译器将为该方法的参数查找一个名为E
的类。
发布于 2012-07-08 01:43:12
被称为形式类型参数。它不是该方法的返回类型。它基本上表示该方法可以接受不同类型(E[]、inputArray)的数组作为参数。
https://stackoverflow.com/questions/11377248
复制相似问题