在
<E>这里没有什么做的返回类型; 这意味着这是一个通用函数,可以采用各种类型的数组。为了更容易理解,代码可能是这样的:
public class GenericMethodTest{ // generic method printArray public static < E > void printArray( E[] inputArray ) { // Display array elements for ( E element : inputArray ){ System.out.printf( "%s ", element ); } System.out.println(); } public static void main( String args[] ) { // Create arrays of Integer, Double and Character Integer[] intArray = { 1, 2, 3, 4, 5 }; Double[] doubleArray = { 1.1, 2.2, 3.3, 4.4 }; Character[] charArray = { 'H', 'E', 'L', 'L', 'O' }; System.out.println( "Array integerArray contains:" ); GenericMethodTest.<Integer>printArray( intArray ); // pass an Integer array System.out.println( "nArray doubleArray contains:" ); GenericMethodTest.<Double>printArray( doubleArray ); // pass a Double array System.out.println( "nArray characterArray contains:" ); GenericMethodTest.<Character>printArray( charArray ); // pass a Character array } }
所以
<E>它告诉函数
“有一个通用类型
E,您接受的数组
E,因此,例如,如果我用
Integer您接受的通用类型来调用您
Integer[]”。
但是,它 不会 更改返回类型。就像
public static不更改返回类型一样。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)