JAVA泛型浅谈

1.泛型类

用<T>表示该类接受泛型,里面的T是具体类型(类),但是不接受基本类型,一定需要包装类。也可以进行多个泛型设置,如class Info<T,V>。

 

2.泛型引用传递

  泛型对象作为引用参数在函数传递的时候,泛型指定的类型不能向上或向下进行转换;在参数中只能指定泛型声明时一致的类型,或者运用通配符?或者T等字母。

但是如果当fun()函数里面是多个参数的时候,每个参数泛型类型都用T的话,则两个参数的类型必须一致;而用“?”则可以不一致。

 

3.泛型受限上下限

<? extends A>,<? super A>分别表示该泛型类型设置具体类型时候,必须为A的子类或者A的父类;具体设置时候只需要在正常设置泛型的时候,用以上两个格式替换原先的<>即可;

 

4.泛型接口

接口实现有两种形式:

第一,先不具体定义泛型实现接口,子类继续用泛型,等到具体调用的时候在具体定义泛型类型;

第二,在实现接口的时候,直接给接口泛型定义具体类型,之后就可以在子类方法中直接用具体类型了;

 

5.泛型方法

泛型方法定义格式:[访问权限](static)<T>[返回类型][方法名](T t);

在方法中定义参数传递时候,可以通过以上方式定义,则T的具体类型根据传入参数的具体类型定义;如:

当然也可以去掉static后面的<T>,直接在参数中用通配符?来接收泛型引用,如:

注:只有在泛型具体定义是数字类型,才能在该方法内执行数字运算,否则,如果直接用<?>,将无法直接运行数字运算(因为无法确定具体类型)。

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值