Java_总结二十二(自定义泛型)

自定义泛型

  第一种形式

 

import java.util.*; 
//限制了T必须是List或者它的子类型,不要用implements关键字
class MyGenerics<T extends List>{//将来在擦除T的时候,必须是List或其子类型    
    private T field;
    public void setField(T f){
        this.field = f;
        //获得f的类型
        System.out.println(f.getClass());
    }
    public T getField(){    return this.field;    }
    public static void main(String uu[]){
        MyGenerics<List> mm1 = new MyGenerics<List>();
        MyGenerics<ArrayList> mm2 = new MyGenerics<ArrayList>();
        //MyGenerics<Map> mm3 = new MyGenerics<Map>();    //error,因为Map不是List或者它的子类
    }
}

 

 

  第二种形式

 

class MyGenerics01<T>{
    private T field;
    public void setField(T f){
        this.field = f;
        //获得f的类型
        System.out.println(f.getClass());
    }
    public T getField(){    return this.field;    }
    public static void main(String uu[]){
        MyGenerics01<Integer> mm1 = new MyGenerics01<Integer>();
        mm1.setField(1);
        
    }
}

 

转载于:https://www.cnblogs.com/liujianliang/articles/6860745.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值