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

 1 public class TTest1 {
 2 
 3     
 4     // 这里提供数据,相当于就是加工好数据,用 unaryOperator.apply(entity);来进行处理数据
 5     public <T> void readFile(Optional<T> optional, UnaryOperator<T> unaryOperator) {
 6         T obj = optional.get();
 7         final T entity = (T) ReflectUtil.newInstance(obj.getClass());
 8         BeanUtils.copyProperties(obj, entity);
 9         Field[] fields = obj.getClass().getDeclaredFields();
10         // 根据反射处理参数
11         unaryOperator.apply(entity);
12     }
13 
14 
15     // 这里处理逻辑
16     public void handleData() {
17         Optional<User> optional = Optional.of(new User());
18         readFile(optional, user -> {
19             saveUser(user);
20             return null;
21         });
22 
23     }
24 
25     public void saveUser(User user) {
26         System.out.println(user);
27     }
28 
29 
30 }

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

 

posted @ 2023-05-05 14:51  郭慕荣  阅读(36)  评论(0编辑  收藏  举报