java泛型

一、什么是泛型

Jdk1.5版本后出现的新特性。用于解决安全问题,是一个安全机制
方法用<类型>声明
格式:通过<>来定义操作的引用类型

在使用java提供的对象时,什么时候写泛型呢?
通常情况下在集合框架很常见,只要见到<>就是要定义泛型
其实<> 就是用来接收类型的,当使用集合时将集合中要存储的数据类型作为参数传递到<> 中即可
好处:
1、将运行时期出现的问题,从运行时期转移到了编译时期,将运行时期的问题减少
2、避免了强制转换
集合定义:ArrayList<类型> 对象名称 = new ArrayList()
迭代器定义Iterator it = a1.Iterator()

二、早期没有泛型

早起做法:通过object类提高程序扩展性,使用时需要强制转换
如定义一个工具类:
这里写图片描述

三、泛型类

泛型类定义方法:凡是需要类型的地方都用XX来代替
XX:泛型的名称
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候,早起定义Object来完成扩展,现在定义泛型类来完成扩展

Class 名称<XX>
{
    private XX 成员变量名;
    public XX 成员方法名称(){
    }
}

这里写图片描述

四、泛型方法

泛型方法
泛型类定义的泛型,在整个方法中有效,如果被方法使用,那么泛型类的对象要操作的具体类型后,所有要操作的类型就固定了
为了让不同的方法操作不同类型,而且类型还不确定,那么就可以将泛型定义在方法上
泛型方法:public 返回类型 方法名(XX 参数,XX参数){}
类型定义在方法上,参数名称已明确,就可以使用

注:静态方法不可以访问类上定义的泛型
如果静态方法定义的类型不确定,可以将泛型定义在方法上
泛型定义在接口上
interface 接口名<>{}
这里写图片描述

五、泛型限定

当不确定接收何种泛型时,可以用一个通配符<?>来表示任意类型
如果只想打印一个类型或者它类型的子类这是可以用泛型限定
泛型限定:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值