泛型

    1)泛型是JDK1.5之后引入的新特性,泛型的本质是参数化类型,在类,接口,方法的定义过程中,所操作的数据类型为传入的指定参数类型。所有的集合类型都带有泛型参数,这样在创建集合时,可以指定放入集合的对象类型,同时编译器也会以此类型进行检查。

    2)ArrayList支持泛型,泛型<>的符号可以随便写,通常写T,

    3)迭代器也支持泛型,但是迭代器使用的泛型应该与它所迭代的集合中的泛型类型一致,

    4)泛型只支持引用数据类型,不支持基本数据类型,但可以使用对应的包装类,

    5)如果泛型不指定类型的话,默认为Object类型。

List<Point> list = new ArrayList<Point>() ;
    list.add(new Point(1,2)) ;
    list.add(new Point(3,4)) ;
    //list.add("哈哈") ; //定义泛型后,只运行Point类型,否则出异常
    for(int i=0;i<list.size();i++){
        Point p = list.get(i) ;    //不需要(point)强转
        System.out.println(p.getUsername()) ;
    }
    Iteretor<Point> ite =list.iterator();
    while(ite.hasNext()){
       Point p = ite.next() ;
       System.out.println(p) ;
    }

    自定义泛型

Point p = new Point(1,2) ;//只保存整数
//把Point类的int都改成泛型E,也而已设置多个泛型Point<E,T>
Point<Double> p = new Point(1.1,3.2) ;
Point<Double,Loing> p = new Point(1.2,3L) ;    //设置多个泛型


转载于:https://my.oschina.net/bugkiller/blog/657329

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值