泛型中的通配符 "?"
限定边界(上边界)可以限定Number类以及继承它的子类
ArrayList<? extends Number> = new ArrayList<Integer>()
ArrayList<? extends Number> = new ArrayList<String>() 这样是错误的因为String不是Number的子类
限定边界(下边界)可以限定Integer以及他的父类
ArrayList<? super Integer> = new ArrayList<Number>()
ArrayList<? super Integer> = new ArrayList<byte>() 这样是错误的因为byte不是Integer的子类