深入理解Java泛型:类型安全示例
Java泛型是Java语言中的一种特性,它允许我们创建可以处理多种数据类型的类。这样做的主要优点是可以避免运行时类型转换的错误。
以下是一个简单的泛型类和使用它的类型安全示例:
// 定义一个泛型容器类
public class GenericContainer<T> {
private T content;
// 构造器,用于初始化内容
public GenericContainer(T content) {
this.content = content;
}
// 获取内容
public T getContent() {
return content;
}
}
// 类型安全示例:创建一个可以存储任何类型的对象的容器
public class Main {
public static void main(String[] args) {
// 创建不同类型的对象
Integer integer = 10;
String string = "Hello, World!";
List<String> list = new ArrayList<>();
list.add("Item 1");
list.add("Item 2");
// 使用泛型容器来存储这些对象
GenericContainer<T> genericContainer = new GenericContainer<>(integer);
// 在这里,我们尝试将不同类型的对象放入同一个容器中
try {
genericContainer.setContent(string);
System.out.println("String in container: " + genericContainer.getContent()); // 正确输出
// 尝试添加列表到容器
genericContainer.setContent(list);
System.out.println("List in container: " + genericContainer.getContent()); // 输出乱码,因为List是不可变对象,不能放入可变容器中
} catch (ClassCastException e) {
System.out.println("Error: Attempt to store incompatible type in the container.");
}
}
}
在这个示例中,我们创建了一个GenericContainer<T>
的实例,并尝试将不同类型的对象添加到容器中。类型安全在这里体现在无法存储不兼容类型的地方会抛出异常。
还没有评论,来说两句吧...