【泛型类】定义与使用
发布人:shili8
发布时间:2024-12-29 11:15
阅读次数:0
**泛型类定义与使用**
泛型类是一种强类型化的类,它可以在编译时根据实际参数类型确定具体类型。泛型类提供了更好的类型安全性、性能和可读性。
### 定义泛型类要定义一个泛型类,我们需要在类名后面添加一个尖括号 `<` 和 `>` 之间的类型参数列表。例如:
javapublic class Box{ private T value; public void setValue(T value) { this.value = value; } public T getValue() { return value; } }
在这个例子中,泛型类 `Box` 有一个类型参数 `T`。我们可以使用 `T` 来表示任何类型的值。
### 使用泛型类要使用泛型类,我们需要实例化它并传入实际类型参数。例如:
javapublic class Main { public static void main(String[] args) { // 使用 Integer 类型 Boxbox1 = new Box<>(); box1.setValue(10); System.out.println(box1.getValue()); // 输出10 // 使用 String 类型 Box box2 = new Box<>(); box2.setValue("Hello"); System.out.println(box2.getValue()); // 输出 Hello } }
在这个例子中,我们使用 `Box` 泛型类来存储 `Integer` 和 `String` 值。
###代码注释泛型类的定义和使用都有相应的注释:
java/** * 泛型类 Box,用于存储任意类型的值。 * * @param泛型类型参数 */ public class Box { // ... /** * 设置值。 * * @param value 值 */ public void setValue(T value) { this.value = value; } /** * 获取值。 * * @return 值 */ public T getValue() { return value; } }
###代码示例泛型类的使用可以在多种场景中体现。例如:
javapublic class Main { public static void main(String[] args) { // 使用泛型类来存储不同类型的值 Boxbox1 = new Box<>(); box1.setValue(10); System.out.println(box1.getValue()); // 输出10 Box box2 = new Box<>(); box2.setValue("Hello"); System.out.println(box2.getValue()); // 输出 Hello // 使用泛型类来存储集合中的值 List > boxes = new ArrayList<>(); for (int i =0; i < 10; i++) { Box box = new Box<>(); box.setValue(i); boxes.add(box); } for (Box box : boxes) { System.out.println(box.getValue()); } // 使用泛型类来存储映射中的值 Map > map = new HashMap<>(); for (int i =0; i < 10; i++) { String key = "key" + i; Box box = new Box<>(); box.setValue(i); map.put(key, box); } for (Map.Entry > entry : map.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue().getValue()); } } }
在这个例子中,我们使用泛型类来存储不同类型的值、集合中的值和映射中的值。
### 总结泛型类是一种强类型化的类,它可以在编译时根据实际参数类型确定具体类型。泛型类提供了更好的类型安全性、性能和可读性。通过使用泛型类,我们可以写出更加简洁、易于理解和维护的代码。