4.什么是泛型方法,如何定义并使用泛型方法?
时间: 2023-06-25 18:02:33 浏览: 106
C#泛型方法在lua中表示的一种设计详解
泛型方法是一种可以在方法中使用泛型类型的方法。它可以用于任何类型,而不需要针对每种类型都写一个单独的方法。泛型方法使用尖括号 "<>" 来指定泛型类型。
下面是一个简单的泛型方法的例子:
```java
public <T> T getValue(T[] array, int index) {
return array[index];
}
```
在这个例子中,我们定义了一个泛型方法 `getValue`,它可以接受任意类型的数组和一个整数作为参数,然后返回该数组在指定索引位置的值。
使用泛型方法非常简单,只需要在方法名前加上类型参数即可:
```java
Integer[] intArray = {1, 2, 3, 4, 5};
String[] strArray = {"hello", "world"};
int intValue = getValue(intArray, 3); // 返回 4
String strValue = getValue(strArray, 1); // 返回 "world"
```
在这个例子中,我们分别使用了整型数组和字符串数组调用了 `getValue` 方法,并且得到了正确的返回值。
除了在方法的返回值中使用泛型类型外,还可以在方法的参数中使用泛型类型。例如:
```java
public <T> void printArray(T[] array) {
for (T element : array) {
System.out.print(element + " ");
}
System.out.println();
}
```
这个方法可以接受任何类型的数组作为参数,并且遍历数组中的每个元素,然后将其打印到控制台上。
使用泛型方法可以简化代码,避免重复编写类似的方法,提高代码的可读性和可维护性。
阅读全文