泛型 <Generic>

来源:互联网 发布:知乎wifi刷不出来图片 编辑:程序博客网 时间:2024/05/22 09:05

1)

Gen.java

public class Gen<T> {    private T obj;    public T getObj() {        return obj;    }    public void setObj(T obj) {        this.obj = obj;    }        public String showType() {        return this.obj.getClass().getName();    }}

Test.java

public class Test {    public static void main(String[] args) {        Gen<Integer> gen1 = new Gen<Integer>();        gen1.setObj(11);        System.out.println(gen1.showType());        Gen<String> gen2 = new Gen<String>();        gen2.setObj("aaaaaaaaaaaa");        System.out.println(gen2.showType());    }}
2)  限制泛型

public class Gen2<T extends Collection> {    private T obj;    public T getObj() {        return obj;    }    public void setObj(T obj) {        this.obj = obj;    }    public static void main(String[] args) {        Gen2<ArrayList> gen = new Gen2<ArrayList>();        gen.setObj(new ArrayList());                //        Gen2<String> gen = new Gen2<String>();    }}

3) 通配符泛型

4) 泛型方法

public class Gen3 {    public <T> void showType(T t) {        System.out.println(t.getClass().getName());    }        public static void main(String[] args) {        Gen3 g = new Gen3();        g.showType("");        g.showType(new ArrayList());    }}





0 0