java集合框架总结--泛型
Posted Dragoncl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java集合框架总结--泛型相关的知识,希望对你有一定的参考价值。
本篇主要是关于泛型
当我们做一些集合的统一操作的时候,需要保证集合内的类型是统一的,此时需要泛型来进行限制,只能添加统一的类型,此时,泛型就应运而生了~
泛型带来了以下优点:
1、数据的统一
2、获取数据时效率提高
集合中的元素设置相同的类型是泛型的基本需求
EX: List<String> sl = new ArrayList<>();
这时候,sl列表里只能添加String 类型数据
在使用上: 在定义对象的时候,通过<>中设置合理的类型来实现
泛型的高阶应用:
1、泛型类
在定义类的时候可以在类的后面添加<E> 来代表待定类型,类总方法的返回值类型和参数类型都可以使用E
2、泛型接口
在定义接口的时候,在接口(类)的名称后面添加如<E,K,A,B>,有两种方法使用泛型
1、子类在进行实现的时候,可以不填写泛型的类型,此时在创建对象时才决定用什么类型
实现:public class GenericsInterfaceSub<B> implements GenericsInterface<B>
创建:GenericsInterfaceSub<String> genericsInterface = new GenericsInterfaceSub<String>();
2、子类在实现泛型接口的时候,只在实现父类的接口的时候指定父类的泛型类型即可,此时,调试方法中的泛型类型必须跟子类保持一致
3、泛型方法(泛型方法不一定要写道泛型类中)
在定义方法的时候,指定方法的返回值和参数是自定义的占位符,可以是类名中的T,也可以是自定义的Q,只不过在使用Q的时候
需要使用<Q>定义在返回值的前面
public<Q> void show(Q q){System.out.println(q);}
4、泛型的上限(<? extends E>)
如果父类确定了,所有的子类都可以直接使用
5、泛型的下限(<? super E>)
如果子类确定了,子类的所有父类都可以直接传递参数
以上是关于java集合框架总结--泛型的主要内容,如果未能解决你的问题,请参考以下文章