泛型的不详细解释


前言

泛型嘛,没什么需要记忆的东西,只要理解泛型是用来规范程序员输入的一种规范就行。


一、泛型是什么?

泛型并不是真实存在的!!!
泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。

泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为泛型类、泛型接口、泛型方法。

ps:泛型是用来规范程序员的,程序在编译后是没有泛型的,所以泛型只针对程序员目的是为了防止在数据在进行类型转换的时候发生错误java.lang.Integer cannot be cast to java.lang.String,例如集合就经常使用泛型来规范程序员输入数据的类型。

二、常用泛型

泛型类、泛型接口、泛型方法

T可以随便写为任意标识,常见的如T、E、K、V等形式的参数常用于表示泛型
只有在类上面规定了泛型的字母,类中才能使用相同命名的泛型类型。
如果规定的是java中存在的包装类类型也行,一定要是包装类
在这里插入图片描述
在这里插入图片描述
在实例化时可以规定T的具体类型,这样就可以避免传入参数类型错误导致的编译时异常
在这里插入图片描述

三、泛型其他知识点

1.特点:

a.所有是类型的地方都可以使用泛型来代替,泛型表示所有类型(Object)
b.规定了泛型,就只是支持定义好的类型,只是在编译时有效,用来规范程序员写法
c.运行时,还是支持Object类型
d.同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。

2.定义泛型的步骤:

a.在类/接口上定义加上<E>
	ps:  Collection<E> col = new ArrayList();

b.在类/接口的方法中,具体类型就可以使用E来代替

3.作用:

泛型就是为了让代码的复用性更强,就可以不用实现重载操作

总结

泛型是由自己规定或者直接使用java包装类来规范程序员的一种规范形式,泛型并不是真实存在的,在编译后文件中就不存在,使用泛型可以方便简化方法重载,甚至可以优化掉方法重载。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值