泛型,通配符

泛型可以在编译阶段约束操作的数据类型,并进行检查。

泛型格式: <数据类型>

泛型只能使用应用数据类型,不能使用基本数据类型,需要使用对应包装类。
eg:(int=>Integer)。

泛型可以统一数据类型,但添加到集合里面时,还是作为object处理,取出时会进行强转数据类型。

指定泛型具体数据类型后,可以传递该类类型或其子类类型。
如果没有写泛型,默认为Object

泛型使用场景:当一个类中,某个变量的数据类型不确定时,可以定义带有泛型的类。

 此处的E可以理解为变量,用于记录数据的类型。
当创建该对象设定了类型时,会自动变成该类型。

泛型方法:
        当方法中形参类型不确定时,可以使用类名后面定义的泛型<E>.(只有定义过的方法可以使用)
        当一个类只有个别几个方法不确定类型时使用。
格式:
修饰符<类型>返回值类型 方法名(类型 变量名){}

如果添加的元素不确定个数时可以使用E...e (e相当于一个数组,可以进行遍历)

泛型接口
        修饰符 interface 接口名<类型>{}
泛型接口的实现类可以给出具体的实现类型
                            也可以延续泛型创建对象时在确定

 

泛型的继承和通配符

        泛型不具备继承性,但是数据具备继承性

 
通配符
        当泛型使用E时,此时可以接收任意的数据类型,如果要限定传入的数据只能是继承关系的数据时,可以使用通配符?。
        ?表示也不确定类型,但是?extends E:表示可以传递E和E的所有子类类型,?super E:表示可以传递E或者E的所有父类类型。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值