安卓架构师成长之路——Java深入篇(1):泛型深入

本文探讨了Java中的泛型,解释了泛型的定义和作用,如将编译时错误提前、提高代码复用。内容涵盖泛型类、泛型接口、泛型方法的声明,以及限定通配符的使用,包括无界、上界和下界的通配符。文章还详细阐述了上界和下界通配符的区别,强调了Java泛型的擦除特性,并提醒读者编译器支持向上转型但不支持向下转型的重要性。
摘要由CSDN通过智能技术生成

泛型的定义

泛型是参数化类型,是学习框架,编写框架的必备基础。他的好处是可以把运行时的错误提前到编译时期,而且使用方向可以方便代码的复用。

泛型的声明

泛型的声明有三类,泛型类、泛型接口、泛型方法。

1.泛型类和泛型接口

class A <T>  
class B<T> implement  I <T>

使用 new对象的时候传入 Arraylist Arraylist =newArraylist()

2泛型方法
泛型方法: 必须在权限修饰符和返回值前有泛型标记才是泛型方法

 格式  public <T> void  method        
 public T get (T.. a)  
 public int  get(T..a)) 

以上都是普通方法,只不过使用了泛型类声明的泛型参数或者返回了泛型返回值而已。

泛型方法里面规定了泛型方法时候,泛型方法和泛型类尽管都可以声明T 但是泛型方法和泛型类的两个T类型可以不一样
因为java 是伪泛型,执行的时候会做泛型擦除。

public <T,V extends Comparable& View.OnClickListener> T  genericMethod(T a, V b,View v){
    b.onClick( v);
}


表明T没有继承别的类,但是V继承了 Comparable 以及 View.OnClickListener
Arraylsit <String>  a   和Arraylist<Integer> a  运行时候类名是相等的 因为他们类名一样是Arraylist
泛型擦除只
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值