范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Java将匿名函数赋值给变量的方法

  简介
  我们在 Java 项目开发的时候,有时候,需要基于不同的配置,来切换不同的服务节点。举个例子,我们在北美,欧洲有服务器。我们初始化 tcp client,保持长连接。
  但client 请求到我们 http 服务器,我们根据来访的是 eu,还是 us 用户,切换到不同的 处理流程里面。
  今天介绍给大家一种用配置来驱动业务流程的方法。定义配置项
  先看代码,代码经过抽象,所以将就着看@Data @NoArgsConstructor @AllArgsConstructor public class CIEConfigVo {     String zone;     TClientBox tClient; }  //定义一个匿名函数的 interface,java 非得需要这个 public interface TClientBox {     TcpClient apply(); }    private Map allConfig = new HashMap(){{     put("eu", new CIEConfigVo(){{         setZone("EU");         setTClient(new TClientBox() {             @Override             public TcpClient apply() {             //这里可以放你的初始化脚本,比如可以是 spring boot 的 service                  return tcpClient;             }         });      put("us", new CIEConfigVo(){{         setZone("US");         setTClient(new TClientBox() {             @Override             public TcpClient apply() {             //这里可以放你的初始化脚本,比如可以是 spring boot 的 service                  return tcpClient;             }         });      }});  }};  //具体用的代码来了   private CIEConfigVo getConfigWithZone(String zone) {     if(allConfig.containsKey(zone)) {         return allConfig.get(zone);     }     throw new Exception("无法找到正确的配置"); } CIEConfigVo tsmc = getConfigWithZone("us"); //这就获取了客户端对象了 theClient = tsmc.getTClient().apply();
  Map 大家应该能看懂,key 是分区信息,value 是配置,配置里面有个 tclient 的字段,存的是匿名对象,匿名对象,也就是其它编程语言中的匿名函数,只不过 java 比较变态,万物都是 class,所以你只能匿名一个 class,然后这个 class 有一个 apply 方法。apply 完了之后,你就能拿到具体的 client。
  你想干啥就能干啥了。
  匿名函数,依赖于 interface,所以你得先定义一个 interface,你才能赋值变量,设置变量保存你的匿名函数。

央行今日发行水滴纪念币一套刻有大熊猫最多5万枚中国人民银行定于2021年10月11日发行2020年联合国生物多样性大会金银纪念币一套。该套金银纪念币共2枚,其中金质纪念币1枚,银质纪念币1枚,均为中华人民共和国法定货币。该套金广本终于有思域了自9月28日亮相以来,型格INTEGRA成为车圈热议的焦点。型格继承了更纯粹的Honda性能基因,基于Honda全新架构开发,不仅拥有符合前卫审美的型酷设计,搭载240TURBO配撬装加油站如何给企业省钱的买燃油车还是新能源汽车新能源仓省钱这个词,想必无时无刻围绕在咱们的生活中,衣食住行各个方面,我们都想做到省钱,寻求高性价比的体验。比如咱们买车,大多数人在选车这方面思考得最多的就是价格和油耗,哪些车油耗低,油耗2021年9月份应该买燃油车还是新能源汽车?根据生态环境部发布公告,自2021年7月1日起,全国范围全面实施国六排放标准,相较于国五排放标准,国六排放标准汽油车的一氧化碳排放量降低50,总碳氢化合物和非甲烷总烃排放限制下降5撬装加油站乱象新能源汽车驶来,能否取代燃油汽车?今天,我想简单聊一下,为什么市面上会有那么多的撬装加油站(企业加油站)被查封。撬装加油站行业到底存在哪些乱象。众所周知,撬装式加油站是目前较安全和环保的加油站储油设备。理论上来说,全球高端手机销量猛增,OPPO高管分析未来三分天下有其一近年来,各大手机厂商开始攀登高端手机市场,这一点从越来越多的高端旗舰相继发布就可以看出。那么当下的高端手机市场行情又是如何呢?近日研究机构Counterpoint发布的2021年第iQOO8系列两款机型怎么选?1000元的差价体现在这里前几天发布的iQOO8系列,不知道大家有没有关注其实看一下配置,还是蛮有吸引力的,iQOO8系列有标准版和Pro版两种,价格差了1000元,那么到底区别在哪里呢?先说iQOO8,性一汽丰田亚洲龙新车上市,携手小米之家送好礼,到店后我不淡定了4月7号13号,一汽丰田亚洲龙新车上市,小米之家携手一汽丰田亚洲龙举办的智美双极米粉集结挑战赛正式拉开帷幕,在这一周的时间内,你可以到指定小米之家店来参与互动,进店扫码即可挑战,完手机烧屏难解决?OPPO护屏计划2。0换屏5折起,最有效的方式在这现如今,大家用手机的地方越来越多,工作社交出行等方方面面都离不开手机,手机屏幕也会长时间处于显示某个静止图像的状态。正因如此,很多消费者反馈手机屏幕出现烧屏问题,也就是指手机用着用三元锂离子动力电池和磷酸铁锂电池哪个更适合电动汽车?近几年,由于国家对新能源技术的补贴力度较大,目前国内的主流动力电池,根据正极材料的不同,无非分为磷酸铁锂电池和三元电池这两种。但是由于正极材料的大不相同,造成了这两种电池在性能上存高通骁龙6754000mAh电池,魅族16Xs正式发布,1698元起售在魅族16s刚刚发布一个月后,5月30号,魅族再次在北京发布了中端机魅族16Xs,作为魅族16X的升级版,魅族16Xs这次都给我们带来哪些惊喜呢?下面我们就一起来快速回顾下这款新品
自动驾驶运输车跑1500公里比人类快10小时图片来自TuSimple汽车自动驾驶技术,如果得到充分发展,最终有可能比手动驾驶更能减少事故发生的可能性。以目前的技术,在没有十字路口和行人且可以持续匀速行驶的高速公路上,自动驾驶助力智能消费,北京消费季发放10亿元消费券北京消费季在海淀区中关村启动,在整个活动期间,多家企业将联手发放10亿元智能和信息消费券,从而吸引更多消费者主动进行消费。毕竟现在暑假是智能科技产品消费的高峰期,那么针对暑期,需要四门更实用2。88万元起售对标宏光MINIEV朋克多多正式开启预售朋克汽车此前公布了美多啦系列的第二款车,朋克多多。朋克多多定位微型电动车,此次公布的预售车型共有三款,分别是靓多多乐多多酷多多,他们的预售价分别为2。883。283。98万元。从预稳定币和比特币的区别究竟是什么?在区块链领域第一个被应用的数字货币就是比特币,比特币从诞生至今一直都是数字货币中的龙头,即使如此,比特币的波动还是很大的,作为货币其波动性如此之大,是很难进行商品交换的,为了解决这JavaSE基础第8篇封装和继承private关键字使用private修饰的私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供公有方法,包括用于获取属性值的getXxx()方法和设置属性值的set大数据的培训中修改MongoDB数据类型的讲解在大数据的培训中,Mongo是一个高性能开源无模式的文档数据库,在很多场景下可以用来替代传统的关系数据库或者键值存储模式。而对于修改mongodb中数据类型,我们是如何做的呢?Mo征程5发布,地平线打开自动驾驶芯片新格局首先,花一分钟我们来了解一下征程5系列芯片的8个亮点征程5是业界第一款集成自动驾驶和智能交互于一体的全场景整车智能中央计算芯片征程5单颗芯片AI算力最高可达128TOPS,支持16内外兼修,一款真正的5G旗舰手机,荣耀30Pro你值得拥有哈喽大家好,我是你们的老朋友小生,每天都会给大家更新我的原创内容,今天我们一起来看看荣耀30Pro这部手机吧!外观方面,荣耀30Pro的正面是一块6。57英寸效果相当惊艳的70超曲5部开启狠降模式的真香旗舰,每一部都极具性价比,值得入手Realme真我GT大师探索版Realme真我GT大师探索版是刚发布不久的新机,也是Realme质感最好的一部手机,12256GB版本的价格为3199元,首发3099元,没想到上市5G奥运,不一样的科技惊喜5G奥运,不一样的科技惊喜东京奥运已经在北京时间8月8日晚落下帷幕,众所周知受疫情影响观众不能进场,广大体育迷只能开启云追奥运模式。然而5G黑科技的身影充斥在场内外的每个角落,成为中兴Axon305G评测向真全面屏又迈出一大步近几年各大手机厂商都对全面屏显示有着不同的理解,尤其是刘海屏水滴屏打孔屏我们都颇为熟悉,但是这些解决方案严格意义来说都称不上全面屏幕手机。要保证前置摄像头的功能情况下打造一块完美无