java泛型测试

import java.lang.*;
import java.util.*;

public class Test {

    public static void main(String[] str) {
        List<B> arr = new ArrayList<B>(10);
        List<A> arr2 = new ArrayList<A>(10);
        Why(new A());
        Why(new B());
        doTest(new ArrayList<String>(123));
        doTest(arr);
        doTest(arr2);
        ExecTest(arr);
        ExecTest(arr2);

    }

    static <T extends A> void Why(T mm) {

    }

    static <T> void doTest(List<T> list) {

    }

    static void ExecTest(List<? extends A> list) {

    }
}

class A {
}

class B extends A {
}
 
 
一段关于泛型嵌套的代码:
    static <T> void right(List<? extends List<T>> lvData, List<T> refreshData) {

    }
    
    static <T> void error(List<List<T>> lvData, List<T> refreshData) {

    }
    public static void main(String args[]) throws Exception {
        List<ArrayList<Object>> data = null;
        ArrayList<Object> moreData = null;
        //编译通过
        right(data, moreData);
        //编译报错
        error(data, moreData);

    }
    

 

 
posted @ 2011-02-26 18:49  再快一点  阅读(247)  评论(0编辑  收藏  举报