泛型T汇总--代码中可以使用

Posted 郭慕荣博客园

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型T汇总--代码中可以使用相关的知识,希望对你有一定的参考价值。

 public class TTest1 
 
     
     // 这里提供数据,相当于就是加工好数据,用 unaryOperator.apply(entity);来进行处理数据
     public <T> void readFile(Optional<T> optional, UnaryOperator<T> unaryOperator) 
         T obj = optional.get();
         final T entity = (T) ReflectUtil.newInstance(obj.getClass());
         BeanUtils.copyProperties(obj, entity);
         Field[] fields = obj.getClass().getDeclaredFields();
         // 根据反射处理参数
         unaryOperator.apply(entity);
     
 
 
     // 这里处理逻辑
     public void handleData() 
         Optional<User> optional = Optional.of(new User());
         readFile(optional, user -> 
             saveUser(user);
             return null;
         );
 
     
 
     public void saveUser(User user) 
         System.out.println(user);
     
 
 
 

总结:利用hutool工具类提供 ReflectUtil,根据泛型T获取泛型对象entity,然后利用反射进行处理

 

关于泛型,什么是泛型,如何理解泛型,直接上代码举例

泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型,就不至于在运行时出现转换异常, 它的本质是参数化类型(即以任何类型 T 作为参数,<T>,在使用时可以传入类型T的具体值 t )。

也就是将类型由原来的具体类型用参数T表示(即类型参数化),然后在使用/调用时传入具体的类型。这种参数类型可以用在类、方法和接口中,分别被称 为泛型类、泛型方法、泛型接口 。

技术图片

 

 

 


版权声明:本文为CSDN博主「timon777」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/timon777/article/details/103690756

以上是关于泛型T汇总--代码中可以使用的主要内容,如果未能解决你的问题,请参考以下文章

TypeScript 入门14.泛型

java中的泛型T与通配符?概念入门

C#泛型 类型约束

java泛型转换

java8泛型

Kotlin泛型 ① ( 泛型类 | 泛型参数 | 泛型函数 | 多泛型参数 | 泛型类型约束 )