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

海口h5建站使用wordpress搭建网站

海口h5建站,使用wordpress搭建网站,公司网站建站,android官网入口Java 8的主题是lambdas。 我已经注意到#xff0c;对于许多Java程序员来说#xff0c;lambda都是非常难的材料。 因此#xff0c;让我们尝试对它们有一个基本的了解。 首先#xff0c;lambda到底是什么#xff1f; Lambda是一个匿名函数#xff0c;与常规函数不同#… Java 8的主题是lambdas。 我已经注意到对于许多Java程序员来说lambda都是非常难的材料。 因此让我们尝试对它们有一个基本的了解。 首先lambda到底是什么 Lambda是一个匿名函数与常规函数不同它没有绑定到标识符即它没有名称。 这些函数可以作为参数传递给其他函数称为高阶函数。 假设我们的应用程序必须从系统的不同位置写入一堆文件。 我们不想每次都处理已检查的异常[请参阅“ 例外已检查和未检查”以获取有关已检查的异常的更多信息]。 因此我们决定编写一个低级的writeToFile函数该函数将打开FileWriter并将其传递给可以安全地写入文件的函数。 使用此低级函数我们编写以下代码。 writeToFile(todo.txt, new FileWriteFunction() {Overridepublic void apply(Writer file) throws IOException {file.write(learn about lambdas\n);file.write(learn stream API\n);} }) 我们传递给writeToFile的对象是FileWriteFunction的匿名实现[是匿名的因为我们没有将其命名为类]。 它具有单个功能因此可以有效地传递匿名功能。 在Java的世界中这些有时称为回调 。 可能您以前至少使用过几次也许没有引起注意。 该匿名对象实际上是lambda。 但这显然不像传递函数。 语法非常笨拙。 这正是Java 8中的变化。 有了Java 8中对lambda的语法支持代码的读取就像我们传递函数一样。 使用Java 8 lambda我们将上述代码重写如下。 writeToFile(todo.txt, file - {file.write(learn about lambdas\n);file.write(learn stream API\n); }) 这样更好 它强调重要的代码并隐藏了大部分笨拙的部分。 通常lambda与闭包可互换使用即词汇功能。 虽然它们都是匿名函数但是闭包的定义是它是包含绑定变量的函数。 即闭包包括一个引用表该表包含对局部变量的引用。 例如如果我们接受要写入文件的参数data 则使用闭包。 void save(String data) {writeToFile(file.db, file - file.write(data) ); } 匿名内部类限制对最终变量的访问而闭包提供对任何变量的访问。 但是变量实际上是闭包的最终变量因此无法将其重新分配。 那lambdas的编译呢 Java 8是否仅使用一种方法就匿名内部类仅提供了一勺语法糖 不是不是 的确它允许对任何单方法匿名内部类使用lambda语法。 但是lambda并没有被编译成内部类。 相反编译器在定义的类中输出lambda$方法并使用invokedynamic调度该调用。 因此现在您知道了如何在Java 8中使用lambda。虽然lambda本身非常有用但在将它们应用于集合时更是如此。 新的Stream API通过为集合提供功能更强大的API来提供迭代器的替代方案 java.util.stream.Stream 。 Stream上最值得注意的功能是 collect filter map和reduce 。 从一个简单的例子开始这里是如何对列表中的所有数字求和。 asList(1,2,3,4,5).stream().reduce(0, (acc, value) - acc value) // 15 通过从零开始将每个值加到累加器上可以减少序列。 为了进行比较通常会编写一个循环。 int acc 0; for (int n : asList(1,2,3,4,5))acc n; acc // 15 继续求和仅求奇数。 首先我们filter奇数然后reduce 。 asList(1,2,3,4,5).stream().filter(Predicates::odd).reduce(0, (acc, n) - acc n) // 9 filter的参数是我使用的Predicates类中对静态odd函数的函数引用。 顾名思义这是一个布尔函数用于测试数字是否为奇数。 到目前为止一切都很好。 现在假设我们要将一厘米大小的列表转换为以英寸为单位的等效大小。 我们为此使用map 。 ListInch inches centimeters.stream().map(Centimeter::toInches).collect(Collectors.toList()) 通过将toInches函数应用到centimeters集合中的每个项目将centimeters映射为英寸。 从本质上讲 Stream是连续的。 它用于描述要应用于集合的操作。 但是要获得结果必须收集数据。 这就是collect功能的目的。 它将流的元素简化为可变容器例如列表。 使用Stream API和lambda可以大大简化用于集合的代码并使代码更具表现力。 与使用破坏性操作例如forEach 相比首选使用非破坏性操作例如map filter 使代码更易于推理。 而已 这些是您需要了解的Java 8中的lambda和闭包的基础知识。当然关于lambda的内容还有很多要写的但这是另一篇文章。 参考 Software Craft博客上的JCG合作伙伴 Bart Bakker 对Java lambda的介绍 。 翻译自: https://www.javacodegeeks.com/2013/10/introduction-to-java-lambdas.html
http://www.zqtcl.cn/news/90772/

相关文章:

  • 建什么类型个人网站比较好开发高端网站建设价格
  • 网站开发 卡片网站建设合同需要印花税
  • 手机端网站图片上传如何做新公司取名字大全免费
  • vue.js网站建设智慧团建官方网站登录入口
  • 江宁区建设局网站网站建设 美食站点
  • 哈尔滨松北区建设局网站唐山企业网站模板建站
  • 服装公司网站策划书外网设计灵感网站
  • 学做婴儿衣服网站windows 建网站
  • 银饰品网站建设规划策划书wordpress近义词搜索
  • 淘宝联盟网站推广位怎么做网站开发合同支付
  • 有没有一些有试卷做的网站ios开发教程
  • 网站备案服务类型红酒公司网站源码
  • 南宁网站优化推广方案4000套微信小游戏源码
  • 什么犁网站做淘宝门头阿里云 wordpress建站
  • 免费网站建设凡科设计师的网站有哪些
  • 微信公众号运营方法seo 排名 优化
  • 深圳做营销网站设计淘宝网官方网站免费下载
  • 菏泽住房和城乡建设厅网站企业查询官网免费查询一下
  • 青海网站建设公司电话163 com邮箱注册
  • 建设法律法规文本查询网站自由设计师是什么意思
  • 分站城市网站如何做seo上海网站建设选缘魁
  • 荆门网站建设电话如何制作网页链接二维码
  • 邳州微网站开发unsplash素材网站
  • 大型网站技术架构wordpress 换域名
  • 网站建设 首选百川互动织梦网站数据下载
  • pc端网站开发技术网站建设与维护工作内容
  • 凡科怎么建设网站可以做动画的网站
  • 企业网站整合网页界面设计案例赏析
  • 精美网站郑州企业培训
  • 网站备案是一年一次吗百度风云榜小说榜排名