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

怎样建设影视网站WordPress中的传媒主题

怎样建设影视网站,WordPress中的传媒主题,wordpress在本地运行很慢,网站安全管理制度建设3 函数式接口 3.1 函数式接口概述 函数式接口#xff1a;有且仅有一个抽象方法的接口 Java中的函数式编程体现就是Lambda表达式#xff0c;所以函数式接口就是可以适用于Lambda使用的接口只有确保接口中有且仅有一个抽象方法#xff0c; Java中的Lambda才能顺利地进行推导…3 函数式接口 3.1 函数式接口概述 函数式接口有且仅有一个抽象方法的接口 Java中的函数式编程体现就是Lambda表达式所以函数式接口就是可以适用于Lambda使用的接口只有确保接口中有且仅有一个抽象方法 Java中的Lambda才能顺利地进行推导 如何检测一个接口是不是函数式接口呢? FunctionalInterface放在接口定义的上方:如果接口是函数式接口编译通过如果不是,编译失败 注意我们自己定义函数式接口的时候Functionallnterface是可选的, 就算我不写这个注解只要保证满足函数式接口定义的条件也照样是函数式接口。但是建议加上该注解 3.2 函数式接口作为方法的参数 需求 package test;public class Demo {public static void main(String[] args) {//匿名内部类startThread(new Runnable() {Overridepublic void run() {System.out.println(Thread.currentThread().getName() 线程启动了); //Thread-0线程启动了}});//Lambda表达式startThread(() - System.out.println(Thread.currentThread().getName() 线程启动了)); //Thread-1线程启动了}public static void startThread(Runnable r) { //Runnable为函数式接口上方有FunctionalInterface // Thread t new Thread(r); // t.start();new Thread(r).start();} }如果方法的参数是函数式接口可以使用Lambda表达式作为参数传递 startThread(() - System.out.println(Thread.currentThread().getName() 线程启动了));3.3 函数式接口作为方法的返回值 需求 package test;import java.util.ArrayList; import java.util.Collections; import java.util.Comparator;public class Demo {public static void main(String[] args) {//构造使用场景//定义一个集合存储字符串ArrayList array new ArrayList();array.add(cccc);array.add(aa);array.add(b);array.add(dd);System.out.println(排序前array); //排序前[cccc, aa, b, dd]Collections.sort(array); //排序后:[aa, b, cccc, dd]Collections.sort(array,getComparator()); //排序后:[b, aa, dd, cccc]System.out.println(排序后:array);}public static ComparatorString getComparator() {//匿名内部类 // ComparatorString comp new ComparatorString() { // Override // public int compare(String s1, String s2) { // return s1.length()-s2.length(); // } // }; // return comp;// return new ComparatorString() { // Override // public int compare(String s1, String s2) { // return s1.length()-s2.length(); // } // };//Lambda表达式 // return (String s1,String s2) -{ // return s1.length()-s2.length(); // };return(s1,s2) - s1.length()-s2.length();} }如果方法的返回值是函数式接口可以使用Lambda表达式作为结果返回 public static ComparatorString getComparator() {return(s1,s2) - s1.length()-s2.length(); } 3.4 常用函数式接口 Java 8在java.util.function包下预定义了大量的函数式接口供我们使用重点来学习下面的4个接口 Supplier [səˈplaɪər] 接口Consumer [kənˈsuːmər] 接口Predicate[ˈpredɪkət] 接口Function接口 3.4.1 Supplier接口 SupplierT包含一个无参的方法T get()方法获得结果该方法不需要参数 它会按照某种实现逻辑(由Lambda表达式实现)返回一个数据SupplierT接口也被称为生产型接口如果我们指定了接口的泛型是什么类型,那么接口中的get()方法就会生产什么类型的数据供我们使用 package test;import java.util.function.Supplier;public class Demo {public static void main(String[] args) { // String s getString(() - { // return 小黑; // });String s getString(() - 小黑);System.out.println(s); //小黑int i getInteger(() - 10);System.out.println(i); //10}//定义一个方法返回字符数据public static String getString(SupplierString sup) {return sup.get();}//定义一个方法返回整数数据public static Integer getInteger(SupplierInteger sup) {return sup.get();} }练习 package test;import java.util.function.Supplier;public class Demo {public static void main(String[] args) {int[] arr {22, 55, 11, 44, 33};int maxValue getMax(() - {int max arr[0];for (int i 1; i arr.length; i) {if (arr[i] max) {max arr[i];}}return max;});System.out.println(maxValue); //55}public static int getMax(SupplierInteger sup) {return sup.get();} }3.4.2 Consumer接口 ConsumerT接口也被称为消费型接口它消费的数据的数据类型由泛型指定Consumer 包含两个方法 方法名说明void accept(T t) [əkˈsept]对给定的参数执行此操作default ConsumerT andThen(Consumer after)返回一个组合的Consumer依次执行此操作然后执行after操作 范例 package test;import java.util.function.Consumer;public class Demo {public static void main(String[] args) { // operatorString(小白,(String s)-{ // System.out.println(s); //小白 // });operatorString(小白,s- System.out.println(s)); //小白// operatorString(小黑,System.out::println); //小黑// operatorString(大熊猫,s - { // System.out.println(new StringBuilder(s).reverse().toString()); //猫熊大 // });operatorString(大熊猫,s - System.out.println(new StringBuilder(s).reverse().toString())); //猫熊大System.out.println(---------);operatorString(小熊猫,s - System.out.println(s),s - System.out.println(new StringBuilder(s).reverse().toString())); // 小熊猫 // 猫熊小}//定义一个方法用不同的方式消费同一个字符串数据两次private static void operatorString(String name, ConsumerString con1,ConsumerString con2) {//1,void accept(T t) [əkˈsept] 对给定的参数执行此操作 // con1.accept(name); // con2.accept(name);//2,ConsumerT andThen(Consumer after) 返回一个组合的Consumer依次执行此操作然后执行after操作con1.andThen(con2).accept(name);}//定义一个方法消费一个字符串数据private static void operatorString(String name, ConsumerString con) {con.accept(name);} }练习 package test;import java.util.function.Consumer;public class Demo {public static void main(String[] args) {String[] strArray {小白,10, 小黑,20}; // printInfo(strArray,(String str) -{ // String name str.split(,)[0]; // System.out.print(姓名:name); // },(String str)-{ // int age Integer.parseInt(str.split(,)[1]); // System.out.println(,年龄:age); // });//姓名:小白,年龄:10//姓名:小黑,年龄:20printInfo(strArray, str - System.out.print(姓名: str.split(,)[0]),str - System.out.println(,年龄: Integer.parseInt(str.split(,)[1])));}private static void printInfo(String[] strArray, ConsumerString con1, ConsumerString con2) {for (String str : strArray) {con1.andThen(con2).accept(str);}} }3.4.3 Predicate [predɪkeɪt] 接口 PredicateT接口通常用于判断参数是否满足指定的条件常用的四个方法 方法名说明boolean test(T t)对给定的参数进行判断(判断逻辑由Lambda表达式实现返回一个布尔值default PredicateT negate()返回一个逻辑的否定对应逻辑非default Predicate T and(Predicate other)返回一个组合判断对应短路与default Predicate T or(Predicate other)返回一个组合判断对应短路或 范例 package test;import java.util.function.Predicate;public class Demo {public static void main(String[] args) { // boolean b1 checkString(hello,(String s) -{ // return s.length()8; // });boolean b1 checkString(hello, s - s.length() 8);System.out.println(b1); //1false2trueboolean b2 checkString(hello,s-s.length()8,s - s.length()15);System.out.println(b2); //3:false,4:trueboolean b3 checkString(hellojava,s-s.length()8,s - s.length()15);System.out.println(b3); //3:true,4:true}//判断给定的字符串是否满足要求private static boolean checkString(String s, PredicateString pre) {//1,boolean test(T t) 对给定的参数进行判断(判断逻辑由L ambda表达式实现返回一个布尔值 // return pre.test(s); // return !pre.test(s); //输出相反的不过用下一个方法//2,default PredicateT negate() 返回一个逻辑的否定对应逻辑非return pre.negate().test(s);}//同一个结果给出两个不同的判断条件最后把这两个判断结果做逻辑与的结果作为最终结果private static boolean checkString(String s,PredicateString pre1,PredicateString pre2) { // boolean b1 pre1.test(s); // boolean b2 pre2.test(s); // boolean b b1 b2; // return b;//3,default Predicate T and(Predicate other) 返回一个组合判断对应短路与 // return pre1.and(pre2).test(s); //源码return (t) - test(t) other.test(t);//default Predicate T or(Predicate other) 返回一个组合判断对应短路或return pre1.or(pre2).test(s); //源码return (t) - test(t) || other.test(t);} }练习 package test;import java.util.ArrayList; import java.util.function.Predicate;public class Demo {public static void main(String[] args) {String[] strArray {小黑,50, 大熊猫,40, 小白,20, 奥特曼,100};ArrayListString array myFilter(strArray, s - s.split(,)[0].length() 2,s - Integer.parseInt(s.split(,)[1]) 33);for(String str:array) {System.out.println(str); // 大熊猫,40 // 奥特曼,100}}public static ArrayListString myFilter(String[] strArray, PredicateString pre1, PredicateString pre2) {//定义一个集合ArrayListString array new ArrayListString();//遍历数组for (String str : strArray) {if (pre1.and(pre2).test(str)) {array.add(str);}}return array;} } 3.4.4 Function接口 FunctionT,R 接口通常用于对参数进行处理,转换处理逻辑由Lambda表达式实现然后返回一个新的值常用的两个方法 方法名说明R apply(T t)将此函数应用于给定的参数default V Function andThen(Function after)返回一个组合函数,首先将该函数应用于输入,然后将after函数应用于结果 案例 package test;import java.util.function.Function;public class Demo {public static void main(String[] args) {convert(100, s - Integer.parseInt(s)); //100 // convert(100,Integer::parseInt); //100convert(100, i - String.valueOf(i 566)); //666convert(100, s - Integer.parseInt(s), i - String.valueOf(i 566)); //666}//定义一个方法把一个字符串转换成int类型在控制台输出public static void convert(String s, FunctionString, Integer fun) {//1,R apply(T t) 将此函数应用于给定的参数 // Integer i fun.apply(s);int i fun.apply(s);System.out.println(i);}//定义一个方法把一个int类型的数据加上一个整数之后转换为字符串在控制台输出public static void convert(int i, FunctionInteger, String fun) {String s fun.apply(i);System.out.println(s);}//定义一个方法把一个字符串转换成int类型把int类型的数据加上一个整数之后转换为字符串在控制台输出public static void convert(String s, FunctionString, Integer fun1, FunctionInteger, String fun2) {//Integer i fun.apply(s);//String ss fun.apply(i);//2,default V Function andThen(Function after) 返回一个组合函数,首先将该函数应用于输入,然后将after函数应用于结果String ss fun1.andThen(fun2).apply(s);//源码return (T t) - after.apply(apply(t));相当于上两步System.out.println(ss);} } 练习 package test;import java.util.function.Function;public class Demo {public static void main(String[] args) {String s 小黑,20;convert(s, ss - ss.split(,)[1], ss - Integer.parseInt(ss), i - i 70); //90}public static void convert(String s, FunctionString, String fun1, FunctionString, Integer fun2, FunctionInteger, Integer fun3) {int i fun1.andThen(fun2).andThen(fun3).apply(s);System.out.println(i);} }
文章转载自:
http://www.morning.wkcl.cn.gov.cn.wkcl.cn
http://www.morning.wxfgg.cn.gov.cn.wxfgg.cn
http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn
http://www.morning.txgjx.cn.gov.cn.txgjx.cn
http://www.morning.wgrm.cn.gov.cn.wgrm.cn
http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn
http://www.morning.tmjhy.cn.gov.cn.tmjhy.cn
http://www.morning.qtzqk.cn.gov.cn.qtzqk.cn
http://www.morning.knzdt.cn.gov.cn.knzdt.cn
http://www.morning.fmgwx.cn.gov.cn.fmgwx.cn
http://www.morning.cdygl.com.gov.cn.cdygl.com
http://www.morning.fgrcd.cn.gov.cn.fgrcd.cn
http://www.morning.qrlkt.cn.gov.cn.qrlkt.cn
http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn
http://www.morning.mgbcf.cn.gov.cn.mgbcf.cn
http://www.morning.xknmn.cn.gov.cn.xknmn.cn
http://www.morning.ndcjq.cn.gov.cn.ndcjq.cn
http://www.morning.btqqh.cn.gov.cn.btqqh.cn
http://www.morning.mbpzw.cn.gov.cn.mbpzw.cn
http://www.morning.xxwhz.cn.gov.cn.xxwhz.cn
http://www.morning.pqwjh.cn.gov.cn.pqwjh.cn
http://www.morning.brkc.cn.gov.cn.brkc.cn
http://www.morning.grxsc.cn.gov.cn.grxsc.cn
http://www.morning.lfmwt.cn.gov.cn.lfmwt.cn
http://www.morning.kaakyy.com.gov.cn.kaakyy.com
http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn
http://www.morning.qhfdl.cn.gov.cn.qhfdl.cn
http://www.morning.qhkdt.cn.gov.cn.qhkdt.cn
http://www.morning.jhswp.cn.gov.cn.jhswp.cn
http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn
http://www.morning.pqjlp.cn.gov.cn.pqjlp.cn
http://www.morning.bygyd.cn.gov.cn.bygyd.cn
http://www.morning.wcjgg.cn.gov.cn.wcjgg.cn
http://www.morning.jgnjl.cn.gov.cn.jgnjl.cn
http://www.morning.jwxnr.cn.gov.cn.jwxnr.cn
http://www.morning.fdzzh.cn.gov.cn.fdzzh.cn
http://www.morning.wprxm.cn.gov.cn.wprxm.cn
http://www.morning.rymd.cn.gov.cn.rymd.cn
http://www.morning.ckdgj.cn.gov.cn.ckdgj.cn
http://www.morning.txrkq.cn.gov.cn.txrkq.cn
http://www.morning.fqqlq.cn.gov.cn.fqqlq.cn
http://www.morning.bpmth.cn.gov.cn.bpmth.cn
http://www.morning.lgznf.cn.gov.cn.lgznf.cn
http://www.morning.ygqjn.cn.gov.cn.ygqjn.cn
http://www.morning.cytr.cn.gov.cn.cytr.cn
http://www.morning.rflcy.cn.gov.cn.rflcy.cn
http://www.morning.tbnn.cn.gov.cn.tbnn.cn
http://www.morning.hhpbj.cn.gov.cn.hhpbj.cn
http://www.morning.msxhb.cn.gov.cn.msxhb.cn
http://www.morning.jppb.cn.gov.cn.jppb.cn
http://www.morning.snxbf.cn.gov.cn.snxbf.cn
http://www.morning.nqmdc.cn.gov.cn.nqmdc.cn
http://www.morning.c7512.cn.gov.cn.c7512.cn
http://www.morning.kqxng.cn.gov.cn.kqxng.cn
http://www.morning.zhishizf.cn.gov.cn.zhishizf.cn
http://www.morning.xflwq.cn.gov.cn.xflwq.cn
http://www.morning.jpnw.cn.gov.cn.jpnw.cn
http://www.morning.mhlsx.cn.gov.cn.mhlsx.cn
http://www.morning.rjrnx.cn.gov.cn.rjrnx.cn
http://www.morning.pqjpw.cn.gov.cn.pqjpw.cn
http://www.morning.jpjpb.cn.gov.cn.jpjpb.cn
http://www.morning.qhnmj.cn.gov.cn.qhnmj.cn
http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn
http://www.morning.bpmz.cn.gov.cn.bpmz.cn
http://www.morning.kxwsn.cn.gov.cn.kxwsn.cn
http://www.morning.zcwtl.cn.gov.cn.zcwtl.cn
http://www.morning.nwwzc.cn.gov.cn.nwwzc.cn
http://www.morning.lbjdx.cn.gov.cn.lbjdx.cn
http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn
http://www.morning.spqtq.cn.gov.cn.spqtq.cn
http://www.morning.bntfy.cn.gov.cn.bntfy.cn
http://www.morning.bzqnp.cn.gov.cn.bzqnp.cn
http://www.morning.pbknh.cn.gov.cn.pbknh.cn
http://www.morning.qgjwx.cn.gov.cn.qgjwx.cn
http://www.morning.mmjqk.cn.gov.cn.mmjqk.cn
http://www.morning.zcxjg.cn.gov.cn.zcxjg.cn
http://www.morning.xrftt.cn.gov.cn.xrftt.cn
http://www.morning.khdw.cn.gov.cn.khdw.cn
http://www.morning.byxs.cn.gov.cn.byxs.cn
http://www.morning.wmcng.cn.gov.cn.wmcng.cn
http://www.tj-hxxt.cn/news/263382.html

相关文章:

  • 网站字体特效网页制作背景颜色
  • 网站开发团队公司模式网站建设策划方案书下载
  • 怎样去建设厅网站核实身份网站需求分析的重要
  • 婚纱网站建设 最开始建站之星 discuz
  • 茂名建站价格c 网站开发需要学什么软件
  • 免费空间网苏州关键词优化企业
  • 韩国网站never官网南宁本地网站设计
  • 给公司建网站 深圳网页设计师有什么职位
  • 闸北企业网站建设如何查看网站的建设者
  • wordpress第三方jqueryseo推广人员
  • asp 网站信箱模板唯品会网站建设的目的
  • 企业公司网站建设ppt网络服务网站建设
  • 毕业设计论文网站开发需要多少钱如何做公众号
  • 青岛网站建设技术托管找工程分包网站
  • 化妆品网站模板下载临沂做商城网站
  • 济南微信网站建设麋鹿 wordpress
  • 北海网站建设怎么给搞笑网站做文案
  • 内蒙古省呼和浩特网站建设百度网络营销app
  • 自己怎么做网站空间广州安全教育平台入口登录官网
  • 网站说服力营销型网站策划 pdf网站用模板为什么不利于seo推广
  • 模版型网站是怎样的公司内网站建设
  • 电商网站建设优缺点wordpress 文章二维码
  • 建设银行论坛网站首页网络推广平台软件
  • 网站 医院信息化建设合肥地区建网站公司
  • 中山网站建设推荐江西网上注册公司流程
  • 链家做网站和手机app花了多少钱wordpress 精致主题
  • 网站 服务器 域名做html的简单网站
  • 为什么网站百度搜不到网站后台 js框架
  • 网站开发的功能需求和模块划分视频拍摄手法
  • 南京市建设中心网站2016网站开发语言