01_Java 泛型 简介 作用 使用 注意事项


泛型的重要性,在众多框架源码中,类图的最上层都使用了泛型。

Java 泛型

一般的类和方法,只能使用具体的类型。要么是基础类型,要么是自定义类,
如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就很大。那么泛型来了。

Java泛型是J2 SE1.5中引入的一个新特性,
其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)
这种 参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法

  • Java泛型方法能够使用单个方法声明分别指定一组相关方法
  • Java泛型类能够使用单个类声明来指定一组相关类型
  • 泛型还提供编译时类型的安全性, 允许程序员在编译时捕获无效类型。

Java泛型的作用

  • 泛化。可以用T代表任意类型。 Java语言中引入泛型是一个较大的功能增强不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了大翻修,所以许多重要的类,比如集合框架,都已经成为泛型化的了,这带来了很多好处。

  • 类型安全。泛型的一个主要目标就是提高ava程序的类型安全,使用泛型可以使编译器知道变量的类型限制,进而可以在更高程度上验证类型假设。如果不用泛型,则必须使用强制类型转换,而强制类型转换不安全,在运行期可能发生ClassCast Exception异常,如果使用泛型,则会在编译期就能发现该错误。

  • 消除强制类型转换。泛型可以消除源代码中的许多强制类型转换,这样可以使代码更加可读,并减少出错的机会。

  • 向后兼容。支持泛型的Java编译器(例如JDK1.5中的Javac)可以用来编译经过泛型扩充的Java程序(Generics Java程序),但是现有的没有使用泛型扩充的Java程序仍然可以用这些编译器来编译。

Java泛型使用

  • 泛型类和泛型接口:
    定义的一个类或接口有一个或多个类型变量,则可以使用泛型。
    泛型类型变量由尖括号界定,放在类或接口名的后面,尖括号中的T称为类型变量。意味着一个变量将被一个类型替代,替代类型变量的值将被当作参数或返回类型。对于List接口来说,当一个实例被创建以后,T将被当作一个函数的参数类、泛型接口.

  • 泛型方法: 是否拥有泛型方法,与其所在的类是否泛型无关。要定义泛型方法,只需将泛型参数列表置于返回值前。

Java泛型的注意事项

  • 使用泛型类时,必须在创建时对象的时候指定类型参数的值。
  • 使用泛型方法时,不必指明参数类型,编译器会自己找出具体的类型。
  • 泛型方法除了定义不同,调用就像普通方法一样。
  • 一个static方法,无法访问泛型类的类型参数,若要static方法需要使用泛型能力,必须使其成为泛型方法
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EngineerForSoul

你的鼓励是我孜孜不倦的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值