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

迪庆藏族自治州网站建设_网站建设公司_版式布局_seo优化

网站建设旗舰品牌,软件开发一个月多少工资,商丘百度推广,chmod wordpressJava 8彻底改变了Java。 它很可能是过去10年中最重要的Java版本。 有很多新功能#xff0c;包括默认方法#xff0c;方法和构造函数引用以及lambda#xff0c; 仅举几例 。 更有趣的功能之一是新的java.util.stream API#xff0c;正如Javadoc所述#xff0c;该API支持 … Java 8彻底改变了Java。 它很可能是过去10年中最重要的Java版本。 有很多新功能包括默认方法方法和构造函数引用以及lambda 仅举几例 。 更有趣的功能之一是新的java.util.stream API正如Javadoc所述该API支持 元素流上的函数式操作例如集合上的map-reduce转换 将此新API与lambda表达式结合使用您将获得简洁但功能强大的语法该语法可通过应用投影显着简化代码。 以表面上简单的过滤集合为例。 在这种情况下将创建一个简单的Message类型Collection 如下所示 创建消息集合 ListMessage messages new ArrayList(); messages.add(new Message(aglover, foo, 56854)); messages.add(new Message(aglover, foo, 85)); messages.add(new Message(aglover, bar, 9999)); messages.add(new Message(rsmith, foo, 4564)); 通过这个集合我想过滤出Message 其delay 第3个构造函数参数大于3,000秒。 在Java 8之前 您可以像这样手动阻塞这种逻辑 过滤旧派风格 for (Message message : messages) {if (message.delay 3000) {System.out.println(message);} } 但是在Java 8中此工作变得更加简洁。 集合现在支持stream方法该方法将基础数据结构转换为可迭代的对象流从而允许使用lambda表达式的新型功能操作。 这些操作大多数也可以链接在一起。 这些可链接的方法称为“ 中间” 不能链接的方法称为“ 终端” 。 简而言之lambda表达式与匿名类非常相似只是语法更少 。 例如如果您在Javadocs中查找Stream的filter方法的参数则会看到它采用了Predicate类型。 但是您不必像在使用匿名类的Java 8之前那样实现该接口。 因此用于过滤所有大于3000的delay值的Predicate lambda表达式为 Lambda表达式 x - x.delay 3000 其中 x是为流中的每个值传递的参数 -右边的所有内容都是要求值的表达式。 将所有这些放到Java 8中可以得出 流lambdas messages.stream().filter(m - m.delay 3000).forEach(item - System.out.println(item)); 有趣的是由于Java 8的其他一些新功能 forEach的lambda可以进一步简化为 流lambda更短 messages.stream().filter(m - m.delay 3000).forEach(System.out::println); 因为forEach lambda的参数仅由println 所以Java 8现在允许您完全删除该参数。 之前我提到过流允许您链接lambda-在上述情况下 filter方法是一种中间方法而forEach是一种终端方法。 功能程序员可以立即识别的其他中间方法是 map flatMap和reduce 仅举几例。 详细地说我想查找所有延迟超过3,000秒的Message 并总结总延迟时间。 没有功能魔术我可以写 普通的Java long totalWaitTime 0; for (Message message : messages) {if (message.delay 3000) {totalWaitTime message.delay;} } 不过使用Java 8和一些function-foo您可以实现更优雅的代码构造如下所示 Java 8优雅 long totWaitTime messages.stream().filter(m - m.delay 3000).mapToLong(m - m.delay).sum(); 请注意我如何链接filter和mapToLong方法以及终端sum 。 顺便说一句 sum方法需要一种特定的地图样式方法该方法可产生基本类型的集合例如mapToLong mapToInt等。 功能样式编程作为一种核心语言功能是一种非常强大的结构。 而且尽管许多技术在诸如Guava之类的各种第三方库中以及诸如Scala和Groovy之类的JVM语言中已经可用但拥有这些语言核心的这些功能肯定会吸引更多的开发人员并对开发前景产生最大的影响。 毫无疑问Java 8极大地改变了Java语言 。 翻译自: https://www.javacodegeeks.com/2014/03/java-8s-functional-fomentation.html
http://www.ihoyoo.com/news/20712.html

相关文章:

  • 技术先进的网站建设怎么搭建wordpress
  • wordpress做图片站的可能性档案网站建设视频
  • 三合一网站选什么系统网站建设里怎么写文章
  • 外国网站做问卷调查挣钱全球设计行
  • 如何将网址提交到一些权重比较高的网站app购物商城
  • wordpress投稿送积分seo推广业务员招聘
  • 网站建设的维护范围微琅 网站建设
  • 南宁建站官网湖南建筑网
  • 有没有教做健身餐的网站网站设计做什么
  • 做网站 做手机app要学什么软件国内比较牛的网站建设
  • 建设一个完整网站技术路线可以做夫妻的游戏视频网站
  • phpok企业建站系统创意合肥网站建设
  • 网站建设内容规划表swf影视网站源码
  • 做vi的图有网站吗网页的后台管理系统
  • 网站有没有做网站地图怎么看扬州网站商城建设价格表
  • 可以发描文本的网站河北辛集市城乡建设管理局网站
  • 网站服务器安全防护晋江在线网站建设
  • 银行官方网站网站动画用什么做
  • 聊城专业网站制作公司企业网站页头背景图
  • 用织梦做的公司网站 经常被攻击淄博 网站制作
  • 做网站的可以黑客户的网站吗网站建设运营执行方案
  • 心理咨询网站php后台一般需要哪些模块电商网站有什么
  • 找个男做那个视频网站建设网站招标文件
  • 焦作有网站建设公司做公司
  • 亮点云建站慈溪网站建设哪家好
  • 电子商务网站设计说明书百度关键词挖掘查排名工具
  • 站点创建成功有影响吗nas wordpress
  • 网站被黑刚恢复排名又被黑了百度商桥怎样绑定网站
  • wordpress技巧:开启wordpress多站点功能注册网站公司
  • 做网站公司项目的流程sem分析