Java 泛型是Java编程语言的一个重要特性,它提供了参数化类型的能力,使得代码更加灵活、安全和易于维护。以下是Java泛型的一些基本概念和用法。
基本概念
泛型类
泛型类允许在定义类时指定一个或多个类型参数,这些类型参数在类使用时被替换为具体的类型。
public class Box<T> {
T t;
}
泛型接口
泛型接口与泛型类类似,允许在接口定义时指定类型参数。
public interface Generator<T> {
T next();
}
泛型方法
泛型方法可以在类中定义,它允许在方法签名中指定类型参数。
public class GenericMethods {
public static <T> void printArray(T[] arr) {
for (T t : arr) {
System.out.print(t + " ");
}
System.out.println();
}
}
使用泛型
类型擦除
Java 泛型在运行时会被擦除,也就是说,类型参数在运行时不会存在,所有的类型信息都会被擦除,替换为Object类型。
类型边界
类型边界可以限制泛型参数的类型,例如:
public class GenericWithBounds<T extends Number> {
// ...
}
这意味着T
必须是一个Number
的子类型。
实例
以下是一个简单的泛型示例:
public class Main {
public static void main(String[] args) {
Box<Integer> integerBox = new Box<>();
Box<String> stringBox = new Box<>();
integerBox.t = 10;
stringBox.t = "Hello World!";
System.out.println(integerBox.t);
System.out.println(stringBox.t);
}
}
在这个例子中,Box
类是一个泛型类,它可以容纳任何类型的对象。
扩展阅读
更多关于Java泛型的内容,您可以阅读Java 泛型深入浅出。
(center)