Java学习之泛型

泛型

    在JDK1.4之前,集合容器什么类型的对象都可以存储,但是在取出时,需要用到对象特有内容时,需要向下转型。对象的类型的不一致,又导致了向下转型发生了ClassCastException异常。为了避免这个问题,只能主观上控制,往集合中存储同一类型的对象。

    JDK1.5之后解决了这个问题,在定义集合时,就直接明确集合中存储元素的具体类型。这样,编译器在编译时,就可以对集合中存储的对象类型进行检查。一旦发现类型不匹配,就编译失败。这个技术就是泛型技术。


泛型的好处:

    1.操作数据更安全(规范了集合中能保存的数据类型);

    2.避免向下转型的麻烦;

    3.将运行时的错误转移到了编译时报错。

ArrayList<String> list = new ArrayList<String>();

    泛型类:在类定义时就明确参数,由使用该类的调用者,来传递具体的类型。

public class Worker<Z>

    类上声明的泛型会在创建对象的时候被赋值。

    泛型还可以在方法上声明,方法上声明了泛型后,该泛型会在方法被调用的时候,赋值泛型。


    泛型通配符:

        在不明确具体类型的情况下,可以通过通配符来表示。    <?>

    泛型的限定:

        

? extends E  //接受E类型或者E类型的子类          泛型的向下限定
? super E  // 接受E类型或者E的父类型             泛型的向上限定

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值