首页 > 其他分享 >使用泛型实现工具类功能

使用泛型实现工具类功能

时间:2023-05-11 18:01:35浏览次数:23  
标签:功能 实现 private class result 泛型 工具 public

使用泛型实现公用代码调用,只要是满足条件的入参,出参都是可以实现调用的。代码如下所示:

@Data
public class CommonParams {

    private Long id;

    private String name;

}
@Data
public class BaseDto {

    private Long id;

}
public class FanXing {

    public <T extends BaseDto, R extends CommonParams> void convert(T t, List<R> r){
       R result = r.stream().filter(data -> data.getId().equals(t.getId())).findFirst().orElse(null);
       // 实现逻辑。。。。。
    }

    public <T extends CommonParams,R extends CommonResult> R convert(T t){
        // 实现逻辑
        R result = null;
        result.setCode(result.getCode());
        return  result;
    }

}

总结:使用泛型,可以让满足条件的入参,出参可以调用公共逻辑,实现代码的封装。

 

标签:功能,实现,private,class,result,泛型,工具,public
From: https://www.cnblogs.com/jelly12345/p/17391820.html

相关文章

  • 手机短信转发到电脑的工具SmsForwarder
    序言有时候使用电脑登录网站测试的时候需要手机验证码,但每次都需要拿起手机,看验证码,很麻烦,于是找到了一款短信转发工具SmsForwarder介绍说明 监控Android手机短信、来电、APP通知,并根据指定规则转发到其他手机:钉钉机器人、企业微信群机器人、飞书机器人、企业微信应用消......
  • Lattics:一款简单易用、好看强大的「类脑式」知识管理工具,笔记应用与写作软件二合一
    如何选择一款适合自己的知识管理工具?随着数字化时代的到来,越来越多的人意识到知识管理的重要性。笔记软件和写作软件作为一种常用的知识管理工具,一直以来备受关注。从最早的印象笔记、有道云、为知笔记、幕布mubu到近几年的思源Siyuan、熊掌记Bear、flomo浮墨笔记、石墨、语雀y......
  • JUC中的Semaphore,最简单的限流工具类
    Semaphore(信号量)为多线程协作提供了更为强大的控制方法,前面的文章中我们学了synchronized和重入锁ReentrantLock,这2种锁一次都只能允许一个线程访问一个资源,而信号量可以控制有多少个线程可以同时访问特定的资源。Semaphore常用场景:限流举个例子:比如有个停车场,有5个空位,门口有......
  • Python工具箱系列(三十一)
    Neo4j是一个高性能的开源的,使用Java语言实现的NoSQL图数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎......
  • hutool-Opt工具使用
    1.引入maven依赖<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version></dependency>2.使用判断空值(null)并执行存在操作代码Stringstr="";Opt.ofNullabl......
  • 中科图新重磅推出“图新说” --- 实景三维PPT,方案汇报新工具
    近日,中科图新基于多年的核心技术积累,推出了一款基于自研三维GIS引擎的数字化方案汇报软件“图新说”。该软件面向设计、工程单位,可融合各类工程软件、跨专业数据,以PPT的形式承载BIM+CAD+GIS数据成果。 01交互式汇报工具  图新说,是一款交互式汇报工具,具有自定义样式、沉......
  • AWS 中的另外一种远程工具 AWS Session Manager
    >作者:[SRE运维博客](https://www.cnsre.cn/)>博客地址:[https://www.cnsre.cn/](https://www.cnsre.cn/)>文章地址:[https://www.cnsre.cn/posts/230129126154/](https://www.cnsre.cn/posts/230129126154/)>相关话题:[https://www.cnsre.cn/tags/aws/](https://www.cnsre.......
  • win7 安装 ubuntu 双系统 详解 easybcd 工具 不能进入 ubuntu 界面
    1、首先准备需要的工具:EasyBCD2.1、precise-desktop-amd64.iso,到网上下载2、在下载的同时就要在win平台下,独立一块空闲分区(我的是100G空闲)。如果没有的话,用分区魔术师删除一个不需要的的分区,并格式化3、用到了EasyBCD工具,打开界面4、5、6、弹出一个文本文档把下面的英文复制进去......
  • LSTM算法做时间序列的预测,使用matlab自带的LSTM工具箱函数,预测精度很高,网络参数最优化
    LSTM算法做时间序列的预测,使用matlab自带的LSTM工具箱函数,预测精度很高,网络参数最优化处理,误差评价指标计算。ID:6768660696244807......
  • 侧边栏筛选功能的实现
    目录一、分析博客园二、路由层的编写三、视图函数逻辑的实现四、给a超链接加地址一、分析博客园"""按照标签筛选https://www.cnblogs.com/wupeiqi/tag/1/按照分类筛选https://www.cnblogs.com/wupeiqi/category/1/按照时间筛选https://www.cnblogs.com/wupeiqi/archive/20......