Java通配符?用于泛型中处理未知类型,分无界(List)、上限(List
Java通配符主要用于泛型中,用来处理未知类型,增强代码的灵活性和安全性。通配符用 ? 表示,根据使用场景可分为三种形式:无界通配符、上限通配符和下限通配符。
形式为 List>,表示可以接受任何类型的泛型集合。
适用于你只调用不依赖具体类型的方法,比如 size() 或 clear(),而不涉及添加元素(除了 nu
ll)的情况。
形式为 List extends Number>,表示接受 Number 或其子类(如 Integer、Double)的泛型集合。
当你需要读取数据,并希望对元素进行与上界类型相关的操作时使用。
说明:形式为 List super Integer>,表示接受 Integer 或其父类(如 Number、Object)的泛型集合。
当你需要向集合中写入数据,且后续由其他部分读取时使用。
说明:这是使用通配符的重要指导原则:
基本上就这些。合理使用通配符能让泛型代码更灵活,同时保持类型安全。关键是理解读写限制和应用场景。不复杂但容易忽略细节。