Java 泛型(Generic)是 Java 5 中引入的一种特性,它允许类、接口和方法在定义时使用一个或多个类型参数,这些类型参数在调用时会被实际类型替换,从而增强了代码的重用性和类型安全性。通过使用泛型,我们可以编写出更加通用的代码,同时也可以减少代码中的强制类型转换操作,提高代码的可读性和可维护性。
在 Java 泛型中,我们可以使用以下符号来定义泛型:
在使用泛型时,可以将实际类型作为参数传递给泛型,例如 List,这样就可以创建一个只能存储 String 类型元素的列表。泛型在 Java 中的实现方式是使用类型擦除技术,即在编译时将泛型类型转换为原始类型,从而避免了类型检查的开销和运行时的类型转换。
-
- class Person
{ - private T age;
-
- public void setAge(T age) {
- this.age = age;
- }
-
- public T getAge() {
- return this.age;
- }
- }
-
- public class Generics {
- public static void main(String args[]) {
- Person<String> p = new Person<String>();
- p.setAge("3 years old");
- System.out.println(p.getAge());
-
- Person<Integer> p2 = new Person<Integer>();
- p2.setAge(3);
- System.out.println(p2.getAge());
-
- }
- }
-
运行结果:
- root@ubuntu:/home/topeet/guyilian# javac Generics.java
- root@ubuntu:/home/topeet/guyilian# java Generics
- 3 years old
- 3