泛型-学习

2020-11-08  本文已影响0人  Superhi

1、什么是泛型?
参数化类型, 比如形参,不提前只能参数的类型。
可以用在类、接口、方法中分别是泛型类、泛型接口、泛型方法。
2、eg:(JDK1.5之后引入泛型) List<String> arrayList = new ArrayList<String>();

3、 泛型只在编译阶段有效。

4、普通的泛型类


image.png

5、泛型接口


image.png image.png

6、通配符(?)为了解决 参数类型的不同


image.png

限定通配符和非限定通配符
<? extends T> T的子类--上界 List<? extends T>
<? super T> T的父类---下界 List <? super T>
<?>非限定通配符

7、泛型方法:在调用的时候指明泛型的具体类型。

image.png

Object obj = genericMethod(Class.forName("com.test.test"));

8、java中是”不能创建一个确切的泛型类型的数组” 但是使用通配符可以
List<String>[] ls = new ArrayList<String>[10]; no
List<?>[] ls = new ArrayList<?>[10]; Y
List<String>[] ls = new ArrayList[10]; Y

9、写一个简单的泛型方法:T, E or K,V

public V put(K key, V value) {
return cache.put(key, value);
}

上一篇 下一篇

猜你喜欢

热点阅读