java中泛型--把泛型从文言文解释为白话文

java中声明泛型类的方式如下:

类<T>

其中T代表类型的名称。

那么泛型到底是什么呢?

首先,你要记住以上述形式声明的类叫做泛型类。举个例子

public class AnyClass<T, K> {
    private T t;
    private K k;
    public void doSomeThing(T t, K k)
    {
        this.t = t;
        this.k = k;
    }

}

这里,必须要强调一下的是,要声明泛型一定要紧挨着类名后尖括号<T,K>这样的形式,这里的T,K表示有两个类型的参数,并且数量是不受限制的。

你要理解的是这里的T和K表示的是类型,例如String,List这样的东西。唯一要注意的一点是:这里的T或者K并不能表示为基本类型,只可以是引用类型。

我们想一个类似的类作为对比,来具体理解下。

类一:

public class AnyClass {
    private String t;
    private List k;
    public void doSomeThing(String t, List k)
    {
        this.t = t;
        this.k = k;
    }
}

类二:

public class AnyClass {
    private Integer t;
    private Double k;
    public void doSomeThing(Integer t, Double k)
    {
        this.t = t;
        this.k = k;
    }
}
我这里要说明的是,上面的泛型类可以完全胜任类一和类二的功能。也就是说泛型类中的类型T和K是参数化的类型,什么叫参数化的类型,就是具体的T或K类型是由你来决定的。比如: AnyClass<String, List> class1 = new AnyClass<String, List>();通脱实例化这里的T,K,我们这个类的功能就可以达到和类一同样的效果。同理:

AnyClass<Integer, Double> class2 = new AnyClass<Integer, Double>();可以达到类二同样的效果。而泛型只定义一个就可以搞定,这也可以看出泛型的方便之处。



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值