泛型的灵活运用,代码重构必须要了解的奇淫技巧
前言
泛型相信大家都不陌生,经常都会用到,像在一些集合类啊,一些开源框架啊,这种东西随处可见,如果不能好好理解的话,看起源码来也会增加了一点儿复杂度。
泛型的好处,扩展性强,低耦合业务内容,大幅度的减少重复代码。
本篇文章,基于对泛型有一定了解,想更进一步运用的朋友。
泛型的运用
场景一
当我们写了一个采用泛型的类,但是怎么获取到这个类上的泛型呢,直接 run 一段简短的代码看下。
/**
* @author: wangqp
* @create: 2020-11-18 15:02
*/
public class GenericApply<T,U> {
public T apply(T t){
return t;
}
public List<String> getGenericClassName(){
List<String> ret = new ArrayList<>();
Type genericSuperclass = getClass().getGenericSuperclass();
Type[] actualTypeArguments = ((ParameterizedType) genericSuperclass).getActualTypeArguments();
Stream.of(actualTypeArguments).forEach(type -> {