当前位置: 首页 > news >正文

软件或者网站的搜索怎么做wordpress 4.9.2

软件或者网站的搜索怎么做,wordpress 4.9.2,阿里云怎么放多个网站,连云港市网站平台函数式接口与回调函数实践 一、Java 的函数式接口 是指仅包含一个抽象方法的接口#xff0c;通常用于 lambda 表达式或方法引用。Java 8 引入了很多内置的函数式接口#xff0c;比如 Runnable、Callable、Predicate、Function、Consumer 等 演示#xff0c;数据类型转换的函…函数式接口与回调函数实践 一、Java 的函数式接口 是指仅包含一个抽象方法的接口通常用于 lambda 表达式或方法引用。Java 8 引入了很多内置的函数式接口比如 Runnable、Callable、Predicate、Function、Consumer 等 演示数据类型转换的函数式接口的简单使用 step 1 定义函数式接口 FunctionalInterface public interface ConvertFunctionalInterfaceF, T {/*** 把F转换为T 类型* param form 输入对象 F* return 输出对象 T*/T convert(F form); }step 2 定义同一调用方法类 public class DataConvert{/*** 把F转换为T 类型* param data 输入对象 F* return 输出对象 T*/public static F, T T processData(F data, ConvertFunctionalInterfaceF, T functional) {return functional.convert(data);} }step 3.定义数据类型转换方法 public class BuildObjTool {public static FillTaskSqlEntity buildFillTaskSql(FillTaskSqlDTO fillTask) {FillTaskSqlEntity fillTaskSql new FillTaskSqlEntity();fillTaskSql.setExecuteSql(fillTask.getExecuteSql());fillTaskSql.setBatch(fillTask.getBatchTime());return fillTaskSql;}public static ValidTableFieldReqDTO buildValidTableField(CreateTableRelateReqDTO createTable){ValidTableFieldReqDTO valid new ValidTableFieldReqDTO();valid.setUserId(createTable.getUserId());valid.setEnterpriseId(createTable.getEnterpriseId());valid.setCollectionTarget(createTable.getCollectionTarget());}}step 4 代码中使用示例 FillTaskSqlEntity fillTask DataConvert.processData(fillTaskSql, BuildObjTool::buildFillTaskSql);写到这里似乎还没体会到函数式接口的好处吧 如果第二处涉及类型转换那么如下 ValidTableFieldReqDTO valid DataConvert.processData(createTableRelateReqDTO, BuildObjTool::buildValidTableField);如果涉及几十处类型转换那么对外的转换接口只有这一个自己传入入参对象转换方法以及接收对象。 函数式接口极大地提高了 Java 的灵活性和可读性使得许多编程模式更为简洁和易于理解。它们在事件处理、异步编程、策略模式以及集合处理等多个场景中都得到了广泛应用 二、回调函数 回调Callback是一种编程模式其中一个函数或方法在执行完成后通过调用另一个函数或方法来传递执行结果或在特定事件发生时调用。这种模式常用于异步操作、事件驱动编程中可以提升代码的可扩展性、灵活性和模块化 示例1有返回值的同步调用案例 step 1 定义回调接口 interface Callback3 {String onComplete(String result); }step 2 定义任务类 class Task3 {public String execute(Callback3 callback3) {// 模拟一些业务逻辑处理String result 模拟一些业务逻辑处理!;System.out.println(step 1…………………execute……………);// 回调通知调用方String res callback3.onComplete(result);return res;} }step 3 业务调用 public static void main(String[] args) {Task3 task3 new Task3();// 通过匿名类实现回调String res task3.execute(result - {System.out.println(step 2.Callback received: result);return 我是中国;});System.out.println(main res:res); }示例2看一个创建无关系表中实际使用的回调函数 step 1.创建回调接口 public interface CallBackInterface {ListMapString, Object onComplete(int maxLength); }step 2 回调方法类 public class CallBackTask {public ListMapString, Object execute(CallBackInterface callback, MapString, ListMapString, Object result) {// 贪心算法计算数据最长表int maxLength BuildObjTool.greedyAlgorithm(result);return callback.onComplete(maxLength);} }step 3 业务中调用 CallBackTask callBackTask new CallBackTask();ListMapString, Object buildRespList callBackTask.execute(res - BuildObjTool.buildEachTableDataResp(result, createTableInfo, res), result);复盘一下 1.业务调用首先进入CallBackTask 执行execute方法 2.CallBackTask 的execute方法返回贪心算法得到的长度maxLength 3.回调再调用业务方法中的BuildObjTool.buildEachTableDataResp(result, createTableInfo, res) 执行完返回得到的buildRespList 总路线业务--回调任务---业务 其中用到的工具方法 public class BuildObjTool {//贪心算法public static int greedyAlgorithm(MapString, ListMapString, Object result) {int max 0;for (ListMapString, Object list : result.values()) {int length list.size();max Math.max(max, length);}return max;}//把数据组装成ListMap结构public static ListMapString, Object buildEachTableDataResp(MapString, ListMapString, Object result, CreateTableInfoReqDTO createTableInfo, int maxLength) {ListMapString, Object resp new ArrayList();ListCreateTableFieldReqDTO tables createTableInfo.getTables();// 1.获取每张表对应取了哪些字段MapString, ListString tableFieldMap tables.stream().collect(Collectors.toMap(CreateTableFieldReqDTO::getEntityName,item - item.getFields().stream().map(CreateTableFieldTypeReqDTO::getTargetFieldName).collect(Collectors.toList()), (k1, k2) - k1));// 2.循环-以最长元素集合为标准for (int i 0; i maxLength; i) {MapString, Object map new ConcurrentHashMap();int finalI i;result.forEach((key, value) - {// 4.依次取每个表数据的第i条数据int size value.size();MapString, Object eachMap;if (size finalI) {eachMap value.get(finalI);} else {eachMap null;}ListString fieldList tableFieldMap.get(key);// 5.获取字段对应的数据fieldList.forEach(ite - {Object obj null;if (ObjectUtils.isNotEmpty(eachMap)) {obj eachMap.get(ite);}// 6.存储值到map---没有值的话去获取该字段对应类型的默认值map.put(ite, Objects.nonNull(obj) ? obj : getFieldDefaultValue(ite, createTableInfo));});});resp.add(map);}return resp;}}总结:Java中的回调机制Callback是实现异步编程、解耦代码、灵活处理任务的一种重要方式。通过回调方法A可以在方法B完成时被通知并处理结果。Java的回调机制并不像JavaScript那样原生支持函数作为参数但通过接口、匿名类或Lambda表达式可以轻松实现类似的效果。
http://www.hyszgw.com/news/80451.html

相关文章:

  • 新乡网站建设哪家实力强广西智能网站建设平台
  • 电商手机网站开发加强门户网站建设的讲话
  • 专业做网站平台广州网站制作信科建设
  • 仿京东电商的网站开发报价个人备案网站内容
  • 百度网站数据统计怎么做怎么做网站 ppt
  • 网站基本维护买了域名怎么做网站
  • 律师网站建设模板京东网站建设哪家好
  • 江苏通力建设官方网站国外花型设计网站
  • 任何判断网站SEO做的好坏网站搜索引擎推广方案
  • 视频网站开发要多少钱网站制作中企动力公司
  • 做网站可以设账户吗公网ip做网站访问不
  • 毕业设计做系统网站好wordpress 专题页面
  • 中国人寿寿险保险公司官方网站做图素材的网站有哪些
  • 四会市网站建设哪家建设公司宣传搞得好
  • wps文字可以做网站吗免费seo视频教学
  • 销售营销网站网站建设工单系统
  • 域名和网站建设费如何入帐视觉设计公司
  • php网站开发视频北京公司注册地址多少钱一年
  • 网站备案密码重置论坛门户网站建设运营费用
  • 茂港网站开发公司校园网络建设方案设计
  • 做网站哪家公司最好学校让做网站做完怎么交
  • 广州顺德网站设计网站工作建设站电话
  • 花生壳如何做网站2022年五月份热点事件
  • 中建豪城建设有限公司网站设计建设网站公司
  • 永康网站开发h5页面导入 WordPress
  • 免费网站在线制作upupw搭建wordpress
  • 一个新手建设网站怎么简单天津城市建设网站
  • 网站广告位价格一般多少wordpress 编辑器全屏
  • 个体工商户能网站备案吗拼多多运营怎么做
  • 利用网站建设平台网站制作与设计知识点