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

建设银行深圳分行网站中建八局招聘最低学历

建设银行深圳分行网站,中建八局招聘最低学历,淘宝开店铺网站怎么做,seo优化工具有哪些Lambda 表达式 文章目录 Lambda 表达式什么是 Lambda 表达式?怎么使用?1 基本语法:2 箭头符号:3 代码演示:4 注意事项 函数式接口1 什么是函数式接口2 常见函数式接口 方法引用(了解)1 什么是方法引用 什么是 Lambda 表达式? Lambda表达式#xff1a;特殊的匿名内部类特殊的匿名内部类语法更简洁。 允许把函数作为一个方法的参数函数作为方法参数传递将代码像数据一样传递。 怎么使用? 1 基本语法: 函数式接口 变量名 (参数1参数2...) - {//方法体};2 箭头符号: - (箭头操作符), - 将表达式分成两部分 左侧(参数1参数2…)表示参数列表右侧{}内部是方法体 3 代码演示: public class TestLambda {public static void main(String[] args) {//Lambda表达式特殊的匿名内部类语法更简洁。//示例1: Runnable接口//匿名内部类Runnable runnable1 new Runnable() {Overridepublic void run() {System.out.println(子线程1 开始执行...);}};//简化: Lambda表达式Runnable runnable2 ()-{System.out.println(子线程2 开始执行...);};//使用new Thread(runnable1).start();new Thread(runnable2).start();//简写: 方法体只有一行代码时new Thread(()- System.out.println(子线程3 开始执行...));//示例2: Comparator比较器//匿名内部类ComparatorInteger cmp1 new ComparatorInteger() {Overridepublic int compare(Integer o1, Integer o2) {return o1 - o2;}};//简化: Lambda表达式ComparatorInteger cmp2 (o1, o2) - o1 - o2;TreeSetInteger treeSet1 new TreeSet(cmp1);TreeSetInteger treeSet2 new TreeSet(cmp2);} }IDEA 快捷键: 在可以使用 Lambda表达式的位置, 按住 Alt Enter , 即可将原代码用 Lambda表达式书写 4 注意事项 形参列表的数据类型会自动推断。如果形参列表为空只需保留() 。如果形参只有1个()可以省略只需要参数的名称即可。如果执行语句只有一句且无返回值{}可以省略 若有返回值则若想省去{}则必须同时省略return且执行语句也保证只有一句。Lambda不会生成一个单独的内部类文件。 函数式接口 1 什么是函数式接口 如果一个接口只有一个抽象方法则该接口称之为函数式接口函数式接口可以使用Lambda表达式Lambda表达式会被匹配到这个抽象方法上 。FunctionalInterface 注解检测接口是否符合函数式接口。 代码示例: interface: FunctionalInterface //函数式接口: 只有一个抽象方法 public interface Usb {void service(); }Test: public class TestUsb {public static void main(String[] args) {//匿名内部类Usb usb1 new Usb() {Overridepublic void service() {System.out.println(连接成功, 开始工作...);}};//Lambda表达式Usb usb2 () - System.out.println(连接成功, 开始工作...);} }2 常见函数式接口 函数式接口参数类型返回类型说明ConsumerT 消费型接口Tvoidvoid accept(T t);对类型为T的对象应用操作SupplierT 供给型接口无TT get(); 返回类型为T的对象FunctionT,R 函数型接口TRR apply(T t);对类型为T的对象应用操作并返回类型为R类型的对象。PredicateT 断言型接口Tbooleanboolean test(T t);确定类型为T的对象是否满足条件并返回boolean类型。 TestConsumer: public class TestConsumer {public static void main(String[] args) {//匿名内部类happy(new ConsumerDouble() {Overridepublic void accept(Double money) {System.out.println((聚餐吃饭, 花费: money));}},1000);//Lambda表达式happy(money- System.out.println(聚餐吃饭, 花费:money),2000);}public static void happy(ConsumerDouble consumer, double money) {consumer.accept(money);} }TestSupplier: public class TestSupplier {public static void main(String[] args) {//匿名内部类//获取5个100以内的随机数int[] nums1 getNums(new SupplierInteger() {Overridepublic Integer get() {return new Random().nextInt(100);}},5);System.out.println(Arrays.toString(nums1));//Lambda表达式//获取10个1000以内的随机数System.out.println(Arrays.toString(getNums(() - new Random().nextInt(1000),10)));}public static int[] getNums(SupplierInteger supplier, int length) {int[] arr new int[length];for (int i 0; i arr.length; i) {arr[i] supplier.get();}return arr;} }TestFunction: public class TestFunction {public static void main(String[] args) {//匿名内部类String s1 handleString(new FunctionString, String() {Overridepublic String apply(String s) {return s.toUpperCase();}}, hello);System.out.println(s1);//Lambda表达式System.out.println(handleString(s - s.toLowerCase(),HELLO));}public static String handleString(FunctionString, String function, String s) {return function.apply(s);} }TestPredicate: public class TestPredicate {public static void main(String[] args) {ArrayListString list new ArrayList();list.add(张三);list.add(张三锋);list.add(张耕耘);list.add(韩羽);list.add(张利);list.add(田美丽);//匿名内部类ListString list1 filter(new PredicateString() {Overridepublic boolean test(String s) {return s.startsWith(张);}}, list);System.out.println(list1);//Lambda 表达式ListString list2 filter(s - s.startsWith(田), list);System.out.println(list2);}public static ListString filter(PredicateString p, ListString src) {ArrayListString list new ArrayList();for (String s : src) {if (p.test(s)){list.add(s);}}return list;} }方法引用(了解) 1 什么是方法引用 方法引用是Lambda表达式的一种简写形式。 如果Lambda表达式方法体中只是调用一个特定的已经存在的方法这个方法的参数和返回值和接口中的方法的参数和返回值保持一致 代码演示: 形式1 : 对象::实例方法 public class TestMethodRef {public static void main(String[] args) {ConsumerString consumer1 s - System.out.println(s);ConsumerString consumer2 System.out::println;consumer1.accept(xxx);consumer2.accept(yyy);} }res: xxx yyy
http://www.dnsts.com.cn/news/9711.html

相关文章:

  • 网站设计源代码qq网站代码
  • 客户说做网站没效果怎么回答好济南seo网络优化公司
  • 湖北建网站公司网站建设 找 中企动力
  • 网站404 原因公司网站建设沈阳
  • 沈阳市建设公司网站深圳十大装饰公司名单
  • 咖啡网站设计建设网站开发课题开发背景
  • 网站素材图标合肥市建设网站市场信息价
  • 西安注册公司在哪个网站淄博做网站的公司
  • 国外网站入口舞台灯光网站建设
  • 广西住房和建设厅网站wordpress 模板出错
  • 网站建设开发费入什么科目网站SEO的评价
  • 如何申请一个网站 做视频直播天元建设集团有限公司商业承兑汇票拒付管辖在哪里
  • 织梦做的网站用什么数据库沈阳网站建设建设公司排名
  • 做网站需要先搞目录么拉新十大推广app平台
  • fullpage网站怎么做网络策划员
  • ps ui做响应式网站要求仿站小工具wordpress
  • 平湖网站建设公司克56网站可以做电子相册
  • 推进门户网站建设工作会议校园二手市场网站建设方案
  • 做网站公示注册深圳公司的好处
  • 数码网站建设的规模与类别wordpress教程 李健
  • google官网入口手机版网站排名优化公司哪家好
  • 本地建设网站电子加工东莞网站建设
  • 杭州集团网站建设方案新手怎么做网站
  • 温州哪里有做网站的公司4000-262-建设工程合同无效
  • 谈期刊网站建设网站界面一般用什么软件做
  • 多种网站晋中企业网站建设公司
  • 如何自己开发一个网站公司网站制作范文
  • 创新的南昌网站制作推广策划案怎么写
  • 电子电路自学网站网站建设教程费用
  • 建设项目竣工环保验收网站建设网站有什么法律么