例如,假设您有两个类:
public class TestA {}
public class TestB extends TestA{}
Run Code Online (Sandbox Code Playgroud)
我有一个返回a的方法,List<TestA>我想将该列表中的所有对象强制转换为TestB最终得到一个List<TestB>.
我读过O'Reilly的书,因为我开始了解这个获取原则.
extends仅从结构中获取值时使用通配符.super仅在将值放入结构时使用通配符.- 当你们想要从一个结构中获取和放置时,不要使用通配符.
例外情况是:
extends除了null属于每个引用类型的值之外,您不能将任何内容放入使用通配符声明的类型中.
super除了type的值之外,您不能从使用通配符声明的类型中获取任何内容Object,这是每种引用类型的超类型.
任何人都可以帮助我深入探索这条规则吗?如果可能的话,请将它们分层.