java泛型

人在江湖,总是要还的。今天在做项目时,遇到一个泛型类,没有看太懂,于是回过头来看《java编程思想》中的泛型。


泛型的主要目的是为了创造容器类。


我们先来看看只能持有单个对象的类,

public class holder1{

   private Animal a;

}

这个类就无法持有其他类型的对象了。


在javaSE5之前,我们可以直接让这个类持有Object的对象。

public class holder2{
  private Object a;
}

但是,编译器是无法知道Object到底是什么类型的对象的,只有程序运行起来才知道a的具体类型、

泛型的主要目的就是用来指定容器类要持有什么类型的对象,并由编译器来保证类型的正确性。

public class holder3<T>{
  private T a;
}

这样在创建holder3对象的时候就告诉编译器泛型的类型。

这就是泛型的核心概念,告诉编译器想使用的类型,然后编译器帮你处理一切细节。


一般而言,你可以认为泛型跟其他类型差不多,只不过他碰巧有类型参数罢了。作者的这句话,我不是很理解,我总结:泛型就是为类为方法预留的类型占位符,等创建类、继承类、实现类、调用方法的时候再去指定这个类型。正如上面的例子所si,这样极大的增强了类、方法的灵活性。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值