Java泛型(Generics)是Java SE 5中引入的一个特性,它允许在定义类、接口和方法时使用类型参数,以便在使用时指定实际的类型。使用泛型可以使代码更加通用、类型安全,同时也提高了代码的可读性和维护性。
下面是一个使用Java泛型的示例代码:
public class Box<T> { private T item; public void setItem(T item) { this.item = item; } public T getItem() { return item; } }
在这个示例中,我们定义了一个名为Box的类,它有一个类型参数T。类型参数T可以在类的成员变量、方法参数、方法返回类型中使用,它代表一个实际的类型,这个类型可以是Java的任何引用类型或基本类型。
在使用Box类时,我们可以指定实际的类型,例如:
Box<String> stringBox = new Box<>(); stringBox.setItem("Hello, World!"); String item = stringBox.getItem(); System.out.println(item); // 输出:Hello, World! Box<Integer> intBox = new Box<>(); intBox.setItem(42); Integer item = intBox.getItem(); System.out.println(item); // 输出:42
在这个示例中,我们分别创建了一个Box对象,并指定了不同的类型(String和Integer)。使用泛型可以使代码更加通用,我们可以在不同的场景下使用Box类来存储不同类型的对象,而不需要编写不同的类来处理每种类型。
Java泛型还提供了一些限定符(Bounds),如extends和super,它们可以用来限制类型参数的范围。例如,我们可以使用extends限定符来限制类型参数必须是某个类的子类:
public class Container<T extends Number> { private T item; public void setItem(T item) { this.item = item; } public T getItem() { return item; } }
在这个示例中,我们使用了extends限定符来限制类型参数T必须是Number类的子类或Number类本身。这样,我们就可以在Container类中使用类型参数T来表示一个数字类型的对象。
联系电话:0763-84538663
联 系 QQ:540383622
工作时间:周一至周五8:00~18:00