Java中的泛型(Generics)是一种允许在编译时检查类型安全的特性。它提供了一种方式,可以在类、接口和方法中使用类型参数,从而实现代码的重用和类型安全。
使用泛型的步骤如下:
- 定义一个带有类型参数的类或接口。类型参数放在尖括号
<>
中,可以是任意标识符,通常使用单个大写字母表示。
public class Box<T> { private T content; public void setContent(T content) { this.content = content; } public T getContent() { return content; } }
2、在实例化泛型类或调用泛型方法时,需要为类型参数指定具体的类型。这可以通过在创建对象时显式地指定类型,或者通过编译器自动推断类型来完成。
// 显式指定类型 Box<String> stringBox = new Box<>(); stringBox.setContent("Hello, world!"); String content = stringBox.getContent(); // String类型被自动推断出来 // 编译器自动推断类型 Box<Integer> integerBox = new Box<>(); integerBox.setContent(42); Integer content2 = integerBox.getContent(); // Integer类型被自动推断出来
3、泛型类可以有多个类型参数,用逗号分隔。例如,Pair<K, V>
表示一个包含两个类型的键值对。
public class Pair<K, V> { private K key; private V value; public Pair(K key, V value) { this.key = key; this.value = value; } }