类型擦除 编译期,会将泛型类型去掉,用它的上界代替,如List其中的String会被用Object代替,若是被声明为List<? extends String>则类型擦除时会被String代替 List<? extends String> List<? extends String>代表String或者String的子类泛型都可以接受