上界通配符(Upper Bounded Wildcard):使用 extends 关键字表示。它表示泛型参数必须是指定类型或其子类型。
上述示例中的 myMethod 方法接受一个类型为 List<? extends Number> 的参数,表示该方法可以接受元素类型为 Number 或其子类型的 List。
下界通配符(Lower Bounded Wildcard):使用 super 关键字表示。它表示泛型参数必须是指定类型或其父类型。
上述示例中的 myMethod 方法接受一个类型为 List<? super Integer> 的参数,表示该方法可以接受元素类型为 Integer 或其父类型的 List。
通过使用通配符,我们可以在泛型结构中处理不特定类型、指定类型的子类型或指定类型的父类型,从而实现更灵活和通用的代码。
注意:在使用通配符时,通常只能进行读取操作,而不能进行写入操作。这是为了保持泛型类型的类型安全性。如果需要进行写入操作,可以使用有限制的通配符(例如 List<? super Integer>)进行限制,但要注意类型安全性和兼容性。
网友评论