泛型是Java语言中的一个重要特性,它允许在编译时定义类型参数化的类、接口和方法。通过使用泛型,可以在不改变代码结构和语法的前提下,提高代码的可重用性和安全性。
下面是一个使用泛型的简单示例:
public class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
在这个示例中,我们定义了一个泛型类Box
,它包含一个类型参数T
。通过使用T
,我们可以在类中声明变量、方法参数和返回类型,这些变量、参数和返回类型将在编译时被检查。
使用泛型的好处是,我们可以编写更加灵活和可重用的代码。例如,我们可以创建一个用于存储任何类型的Box
对象,并在需要时使用不同的类型。此外,由于泛型是在编译时进行检查的,因此可以减少运行时错误的可能性,从而提高代码的安全性。
下面是一个使用泛型的示例:
Box<Integer> integerBox = new Box<>();
integerBox.set(new Integer(10));
System.out.println(integerBox.get()); // 输出 10
Box<String> stringBox = new Box<>();
stringBox.set(new String("Hello"));
System.out.println(stringBox.get()); // 输出 Hello
在这个示例中,我们创建了两个不同类型的Box
对象,一个用于存储整数,另一个用于存储字符串。由于使用了泛型,我们可以将不同类型的对象存储在同一个Box
对象中,而不会出现类型转换错误或运行时异常。