泛型的定义
泛型(Generics)是Java语言的一种特性,它允许在定义类、接口或方法时使用类型参数(Type Parameter),从而使得类、接口或方法可以处理多种类型的数据。泛型的主要目的是在编译时提供类型检查,避免在运行时出现类型转换错误。
泛型的优点
- 类型安全:泛型在编译时进行类型检查,可以避免在运行时出现类型转换错误(ClassCastException)。
- 代码复用:通过泛型,可以编写通用的代码,处理多种类型的数据,而不需要为每种类型编写单独的类或方法。
- 减少强制类型转换:使用泛型可以减少代码中的强制类型转换,使代码更加简洁和易读。
泛型的基本用法
-
泛型类:在类定义时使用类型参数。
public class Box<T> { private T item; public void setItem(T item) { this.item = item; } public T getItem() { return item; } }
使用泛型类:
Box<String> stringBox = new Box<>(); stringBox.setItem("Hello"); String item = stringBox.getItem(); // 不需要强制类型转换
-
泛型接口:在接口定义时使用类型参数。
public interface Pair<K, V> { K getKey(); V getValue(); }
实现泛型接口:
public class OrderedPair