1、在java中,数组是协变的,假设有个Dog类, Object[] Dog IS-A Object{} Object,但是集合没有协变性, List<Dog> IS-NOT-A List<Object>,java可以采用通配符来解决这个问题,即采用 List<? extends Object>来赋予集合协变性。