Java中的 public static <T> 用于声明泛型静态方法,允许在方法级别使用类型参数。
1、语法结构:
public static <T> 返回值类型 方法名(T 参数) {
// 方法体
}
2、特点:
static:静态方法属于类而非实例
<T>:类型参数声明,在方法返回类型之前
T:可在方法参数、返回类型和方法体内使用
3、使用示例:
该代码展示了三种泛型静态方法的使用:
printArray:通用数组打印方法,支持任意类型数组
getFirstElement:返回数组首元素的通用方法
findMax:带类型限制的泛型方法,要求类型实现Comparable接口
方法通过类型参数T实现类型安全,编译器会自动进行类型推断和检查。
import java.util.Arrays;
public class GenericMethodExample {
// 泛型静态方法:打印任意类型数组
public static <T> void printArray(T[] array) {
for (T element : array) {
System.out.print(element + " ");
}
System.out.println();
}
// 泛型静态方法:返回数组的第一个元素
public static <T> T getFirstElement(T[] array) {
if (array == null || array.length == 0) {
return null;
}
return array[0];
}
// 带类型限制的泛型方法:只接受Comparable类型
public static <T extends Comparable<T>> T findMax(T[] array) {
if (array == null || array.length == 0) {
return null;
}
T max = array[0];
for (T element : array) {
if (element.compareTo(max) > 0) {
max = element;
}
}
return max;
}
public static void main(String[] args) {
// 测试字符串数组
String[] strArray = {"Apple", "Banana", "Cherry"};
System.out.print("字符串数组: ");
printArray(strArray);
System.out.println("第一个元素: " + getFirstElement(strArray));
System.out.println("最大元素: " + findMax(strArray));
// 测试整数数组
Integer[] intArray = {10, 5, 8, 15, 3};
System.out.print("\n整数数组: ");
printArray(intArray);
System.out.println("第一个元素: " + getFirstElement(intArray));
System.out.println("最大元素: " + findMax(intArray));
}
}
4486

被折叠的 条评论
为什么被折叠?



