求java泛型的详细讲解,最基础的,我去网上博客里的什么都比较高深,看不懂
1个回答
展开全部
泛型:JDK1.5版本以后出现的新特性,用于解决安全问题,是一个安全机制。
好处
1.将运行时期出现的问题ClassCastException,转移到了编译时期
方便于程序员解决问题,让运行时期问题减少,安全
2.避免了强制转换麻烦
泛型格式:通过<>来定义要操作的引用数据类型。
在使用java提供的对象时,什么时候写泛型呢?
通常在集合框架中很常见,只要见到<>就要定义泛型
其实<>就是用来接收类型的
当使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候,早期定义object来完成扩展,现在定义泛型来完成扩展
泛型类定义的泛型,在整个类中有效,如果被方法使用,那么泛型类的对象明确要操作的具体类型后,所有要操作的类型就已经固定了
那么为了让不同方法可以操作不同类型,而且类型还不确定,那么可以将泛型定义在方法上
特殊之处:静态方法不可以访问类上定义的泛型,如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上
通配符。也可以理解为占位符。
泛型的限定:
? extends E:可以接收E类型或者E的子类型。上限
一般存储对象的时候用。比如 添加元素 addAll.
? super E:可以接收E类型或者E的父类型。下限
一般取出对象的时候用。比如比较器。
好处
1.将运行时期出现的问题ClassCastException,转移到了编译时期
方便于程序员解决问题,让运行时期问题减少,安全
2.避免了强制转换麻烦
泛型格式:通过<>来定义要操作的引用数据类型。
在使用java提供的对象时,什么时候写泛型呢?
通常在集合框架中很常见,只要见到<>就要定义泛型
其实<>就是用来接收类型的
当使用集合时,将集合中要存储的数据类型作为参数传递到<>中即可
什么时候定义泛型类?
当类中要操作的引用数据类型不确定的时候,早期定义object来完成扩展,现在定义泛型来完成扩展
泛型类定义的泛型,在整个类中有效,如果被方法使用,那么泛型类的对象明确要操作的具体类型后,所有要操作的类型就已经固定了
那么为了让不同方法可以操作不同类型,而且类型还不确定,那么可以将泛型定义在方法上
特殊之处:静态方法不可以访问类上定义的泛型,如果静态方法操作的应用数据类型不确定,可以将泛型定义在方法上
通配符。也可以理解为占位符。
泛型的限定:
? extends E:可以接收E类型或者E的子类型。上限
一般存储对象的时候用。比如 添加元素 addAll.
? super E:可以接收E类型或者E的父类型。下限
一般取出对象的时候用。比如比较器。
更多追问追答
追问
还是不大懂,你的头像是卡尔啊
追答
这是最浅显的解释了,建议你看教学视频的例子帮助理解,如果还不懂,那就先放在,继续往下学啊,以后项目的时候遇到,再回来看,可能会有更深的理解
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询