泛型是 Java 中一种强大的特性,它允许在编写类、接口和方法时使用参数化类型,使得代码可以更加灵活、通用和类型安全。
一、原理:
在泛型中,<?>
是一种通配符类型(Wildcard Type),表示未知类型。它可以用在泛型声明中,允许声明一个参数化类型的引用,但不具体指定参数的类型。这种用法可以使得代码更加灵活,可以处理多种类型的参数。
二、作用:
- 灵活性:通配符类型
<?>
允许在声明泛型类型时不限定具体的类型,从而可以接受任意类型的参数。 - 泛化:使得代码更加通用,可以处理多种类型的对象,而不需要为每种类型编写重复的代码。
- 类型安全:尽管泛型使用了通配符
<?>
,但通过类型擦除(Type Erasure)等机制,Java 在编译时仍能确保类型安全。
三、举例说明:
假设有一个接口 Processor
,定义了一个处理器的通用接口:
public interface Processor<T> {
void process(T input);
}
现在我们有两个具体的处理器类:StringProcessor
和 IntegerProcessor
,分别处理字符串和整数类型的输入。
public class StringProcessor implements Processor<String> {