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

怎样提高网站的排名全面的移动网站建设

怎样提高网站的排名,全面的移动网站建设,荆州网站推广怎么做,织梦网站制作教程1、介绍 本片文章会从一下几个知识点进行介绍#xff1a; 函数式接口 FunctionalInterfaceLambda 表达式函数引用 Function ReferenceStream看了几篇关于 java8 入门的例子#xff0c;其中引入了许多令人期待已久的特性#xff08;虽然我没有过这样的体会#xff09;#…1、介绍   本片文章会从一下几个知识点进行介绍 函数式接口 FunctionalInterfaceLambda 表达式函数引用 Function ReferenceStream  看了几篇关于 java8 入门的例子其中引入了许多令人期待已久的特性虽然我没有过这样的体会但不管你的代码是普通青年款还是文艺青年款你都可以从被 java8 的重新组织的代码看到她的简洁之处不得不让我对这些新入贵圈java圈的小鲜肉做一些记录以便我能很好的利用他们。   最大的一个特点莫非就是引入了“函数式”编程这一个概念都是剽窃的别的语言来的还有那么多新奇的词语比如“语法糖”“闭包”“显式|隐式函数”等这里我就不再一个一个去体会了这里属于初次接触先理解会用为主细节的深入待后期慢慢琢磨。   2、函数式接口 -- Functionnalinterface   在翠花正式上代码示例之前我们现来对这个函数式接口有个认识 接口必须只有一个抽象方法接口可以有其他的默认default或者静态static方法接口默认继承了 Object 类所以接口中不能覆盖了 Object 中的方法 说明该注解不是必须的如果一个接口满足“函数式接口”特性那么不加这个注解也没有影响加上该注解能够更好的让编译器检查如果不符合规范将会报编译错误。   比如在 jdk8 中就对Comparator、Callable、Runnable等接口加上了该注解下面两段代码的效果是一样的    1 public static void runThreadByLambda() {2 Runnable runnable () - System.out.println(这个是用拉姆达实现的线程);3 new Thread(runnable).start();4 }5 6 //---------------------------------------------------------------------------------7 public static void runThreadByInnerClass() {8 Runnable runnable new Runnable() {9 Override 10 public void run() { 11 System.out.println(这个是用内部类实现的线程); 12 } 13 }; 14 new Thread(runnable).start(); 15 }  3、Lambda 表达式   先用自己的语言来个 Lambda 下个定义一段带有输入参数的可执行语句块”。精确与否那是别人的事情反正我是这么理解的目前阶段是这样的。 1 (Type1 param1, Type2 param2, ..., TypeN paramN) - { 2 statment1; 3 statment2; 4 //............. 5 return statmentM; 6 }   对应定义我们自然要给个例子 1 ListString names new ArrayList(); 2 names.add(TaoBao); 3 names.add(ZhiFuBao); 4 ListString lowercaseNames names.stream().map((String name) - {return name.toLowerCase();}).collect(Collectors.toList());   这不就是将一个集合全部元素变为小写吗和我以前用的循环代码繁简度不想上下有什么好奇怪的这位看管不要着急嘛下面我来个他搓个背您再看看如何。 1 ListString lowercaseNames names.stream().map(name - name.toLowerCase()).collect(Collectors.toList()); 2 3 //如果加入方法应用就是这样 4 ListString lowercaseNames names.stream().map(String::toLowerCase()).collect(Collectors.toList());   简化规则如下 绝大部分情况下编译器都可以从上下文推算出参数类型因此可以省略当参数只有一个可以省略小括号当表达式只包含一条语句时可以省略大括号、returned和语句结尾的分号  在 Lambda 眼中外部的变量也是可以访问的只是这个变量默认必须是 final 即便你自己没有加上编译器也会自动帮你加上所以变大时内部访问外部变量必须是不可变的只是引用不可变还有一个东西就是 this this 在 lambda 指代的不是表达式生产的那个 SAMSimple Abstract Method对象而是申明她的外部对象。   4、方法引用Method reference和构造器引用Construct reference objectName::instanceMethod  ClassName::staticMethod例子System.out::println   等同于   x - System.out.println(x)           Math::max                等同于  (x,y) - Math.max(x,y)前两种方法类似等同于把 Lambda 表达式的参数当成实例方法或者静态方法的参数来调用下面再来看看第三种情况ClassName::instanceMethod例子String.toLowerCase   等同于   x - x.toLowerCase()等同于把 Lambda 表达式的第一个参数当成 实例方法的目标对象其余参数当成该方法的参数来调用。ClassName::new例子BigDecimal::new    等同于   x - new BigDecimal(x)等同于把 Lambda 的参数当成构造器的参数来调用。5、Stream   Stream 堪称 Lambda 的好基友他们两个配合起来使用才能快快乐乐。 Stream 是元素的集合这点让 Stream 看起来有些类似 iterator 可以支持顺序和并行的对原 Stream 进行汇聚的操作 //Lists是Guava中的一个工具类 ListInteger nums Lists.newArrayList(1,null,3,4,null,6);             5.1 创建 Stream // of() 有两个变长参数和单一参数 StreamInteger integerStream Stream.of(1, 2, 3, 5); StreamString stringStream Stream.of(taobao); // 匿名类的写法 Stream.generate(new SupplierDouble() {Overridepublic Double get() {return Math.random();} }); // Lambda 写法 Stream.generate(() - Math.random); // 函数引用写法 Stream.generate(Math::random); // generate() 生产一个无限长度的Stream // iterate() 也是生产了一个无限长度的 Stream 其是重复调用用户给定的种子值类获取元素seed f(seed) f(f(seed)) ...... Stream.iterate(1, item - item 1).limit(10).forEach(System.out::println);     除了上面 Stream 的静态工厂创建方法之外就是下面的 Collection 接口的默认方法。 1 public interface CollectionE extends IterableE { 2 //其他方法省略 3 default StreamE stream() { 4 return StreamSupport.stream(spliterator(), false); 5 } 6 }   5.2  转换 Stream     顾名思义就是通过一定的法则将原来的 Stream 转换成一个新的 Stream下面列举一些常用的转换方法来加深理解一图胜千言       从以上图中就可以看出来几个常用的 转换函数的功能下面我们将大声的喊出我们的口号“在一起” 1 ListInteger nums Lists.newArrayList(1,1,null,2,3,4,null,5,6,7,8,9,10); 2 System.out.println(“sum is:”nums.stream().filter(num - num ! null). 3 distinct().mapToInt(num - num * 2). 4 peek(System.out::println).skip(2).limit(4).sum());   5.3 汇聚Reduce Stream     汇聚也称为折叠接受一个元素序列为输入反复使用某个合并操作把序列中的元素合并成一个汇总的结果下面会分两部分来介绍汇聚行为。     5.3.1 可变汇聚       把输入元素累计到一个可变的容器中比如 Collection 或者 StringBuilder。     5.3.2 其他汇聚       除了可变汇聚之外的其余汇聚一般不是通过反复修改某个可变对象而是通过把前一次的汇聚结果当成下一次的入参反复如此比如reduce、count、allMatch        转载于:https://www.cnblogs.com/afanti558/p/7181867.html
http://www.zqtcl.cn/news/224232/

相关文章:

  • 南阳响应式网站淘宝上成都网站建设
  • 深圳做手机网站设计wordpress禁用wp-cron
  • 如何自己建公司网站搜索引擎排名2020
  • 济南建站商业网站开发入门选课
  • 济南网络免费推广网站四川建设厅官方网站查询
  • 中国建设银行网站首页wordpress安装多个
  • 中国住建厅网站官网怎么建立网站快捷方式
  • 天津协会网站建设怎么用dw做带登陆的网站
  • 南宁做网站服务商苏州网站建设品牌
  • 做平台销售网站上海市普陀区建设规划局网站
  • 网站的积分系统怎么做电影在线观看
  • 成都网站建设方案服务旅游网站建设报价单
  • 京东网址seo排名查询工具
  • 南京制作网站速成班外贸营销信模板
  • 简单网站建设规划方案物联网网站设计
  • 做360网站官网还是百度四川平台网站建设方案
  • 做网站的主题有哪些精品课程网站建设情况
  • 帝国网站开发电商平台搭建
  • 建设工程网站tcwordpress 标题入库
  • 网站开发简直广州网站制作后缀
  • 上海短视频seo优化网站wordpress 构建知识库
  • 做的网站图片不显示2018做网站赚钱不
  • 国内建站平台网站建设是什么科目
  • 响应式个人网站psd建设银行网站联系电话
  • 大型网站开发实战品牌网站建设费用要多少
  • 昆山网站建设昆山html5制作手机端页面
  • 做网站的国标有哪些达州网络推广
  • 站内seo和站外seo区别wordpress演示数据
  • 建设旅游网站财务分析创意设计公司网站
  • 张家港网站优化wordpress调用图片上传