学习JAVA的记录(一)---泛型

学习JAVA的记录(一)—泛型

泛型

泛型的定义

泛型就是将数据类型参数化。

使用泛型的优势

在编译时而不是在运行时检测出错误。
(在运行过程中是没有泛型的)

注意点1:

泛型一定是引用类型,不是8种基本数据类型(int,short,double,float,boolean等)

注意点2:

区分泛型类和泛型方法
泛型类:GenericStack <E> stack = new GenericStack <E>()
(在类名之后)
泛型方法:public static <E> void print(E[] list){}
(在方法的返回类型前)

通配泛型

  1. 非受限通配
    ?,等价于?extends Object
  2. 受限通配
? extends T //表示T或T的一个子类型
  1. 下限通配
? super T //表示T或T的一个父类型

泛型的限制

  1. 不能使用new E()
    E[] e = new E[10];是错误的。
    应该是E[] e = (E[])new object[10];
  2. 在静态上下文中不允许类的参数是泛型类型。
  3. 异常类不能是泛型。

泛型的消除

编译器使用泛型来编译代码,但编译后会消除掉泛型,因此运行时是没有泛型的。

为什么使用消除来实现JAVA泛型?
为了解决前后系统类型的兼容问题。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值