java 泛型边界

来源:互联网 发布:a股实时数据接口 编辑:程序博客网 时间:2024/05/14 19:42
public class TestMain {public static void main(String args[]){//编译的时候就知道了 下限是 Number//List<Number自己或Number的父类>//编译的时候就知道了<? super Number>产生的一定是Number自己或Number的父类//所以add Number的子类时可以通过,没毛病List <? super Number> list1 = new ArrayList<Serializable>();//然后往list添加Number的子类,没毛病 可以通过list1.add(new Integer(8));list1.add(new Double(4.5));//编译的时候只知道上限是Number//然后List<Number自己或的子类>,问题来了//编译的时候<? extends Number> 不知道 是具体的哪个子类 有可能Integer也有可能是Double//所以add的时候编译不通过List <? extends Number> list2 = new ArrayList<Number>();list2.add(new Integer(8));//编译不通过list2.add(new Double(4.5));//编译不通过}}

原创粉丝点击