怎么做有趣的视频网站雏光 网络推广 网站建设

web/2025/10/7 12:52:18/文章来源:
怎么做有趣的视频网站,雏光 网络推广 网站建设,越秀公司网站建设,代运营公司是什么意思函数接口是Java 8最重要的概念之一#xff0c;实际上为lambda表达式提供了动力#xff0c;但是许多开发人员没有首先了解函数接口在Java 8中的作用就花了很多精力来理解它#xff0c;并花时间学习lambda表达式和Stream API。除非您知道什么是功能接口以及lambda与它之间的关… 函数接口是Java 8最重要的概念之一实际上为lambda表达式提供了动力但是许多开发人员没有首先了解函数接口在Java 8中的作用就花了很多精力来理解它并花时间学习lambda表达式和Stream API。除非您知道什么是功能接口以及lambda与它之间的关系否则您将无法使用Java 8的强大功能例如lambda表达式和流API 。 没有功能接口的知识您将无法理解在代码中可以使用lambda的位置但是您将很难编写该方法所期望的lambda表达式因此对功能接口有一个很好的了解非常重要。 Java 8。 在本文中我将通过解释什么是函数接口什么是Functional注释它们与lambda表达式之间的关系以及它们如何帮助您在代码中使用lambda表达式来填补这一空白。 那么让我们从第一件事开始什么是功能接口 Java 8中的功能接口是什么 好的功能接口不过是带有一个抽象方法的接口例如Comparable Runnable EventListener Comparator等。您可以看到这些接口甚至在JDK 8之前就已经存在于Java中但是为什么我们将这种接口称为功能接口呢 这是一个很好的问题如果您对函数式编程有所了解就知道它可以传递代码即函数就像将数据或对象传递给方法一样。 这些接口只有一种抽象方法被用于传递代码就像您以函数式编程语言传递函数一样 这就是为什么它们被称为函数接口 。 例如您可以通过实现Comparator接口来创建一个Anonymous类从而直接传递代码以比较对象如下所示 Collections.sort(list, new Comparator(){public int compare(String s1, String s2){return s1.length() - s2.length();}}); 因此如果仔细观察您会发现我们正在使用这些接口将代码传递给函数 。 它们也称为策略接口因为这是策略模式的实现其中构成策略的代码被注入到在运行时运行该策略的代码中。 顺便说一句如果您不知道什么是策略模式那么我建议您从0转到1设计模式–至关重要的24 –在Java中 因为设计模式的知识对于Java的有效编码很重要。 那么既然我们知道什么是功能接口让我们了解它们与lambda表达式之间的关系 以及对功能接口的理解对于使用lambda表达式编写代码有何重要性 好吧要记住的最重要的事情是Java中lambda表达式的唯一用途是将它们转换为功能接口。 这意味着如果方法接受函数接口 则可以传递lambda表达式 这进一步意味着可以将lambda传递给所有接受方法的现有方法 Comparator Runnable或任何其他只有一种抽象方法的接口。 这就是Java中lambda表达式也被称为SAM类型的原因其中SAM表示单一抽象方法。 Functional注释有什么作用 现在让我们看看Functional注释是做什么的 如果仅在其上面添加Functional注释它将使接口起作用吗 好吧不它不会那样做。 实际上 可选的 。 这意味着您可以在不使用Functioanl批注的情况下创建功能接口就像可以在不将Override批注放在方法顶部的情况下Override方法一样。 那么 Functional注释的真正目的是什么 好吧它可以确保该接口实际上只有一种抽象方法并且还向Javadoc之类的工具提供了此接口是功能性接口的提示。 它与Override注释非常相似后者通过验证您实际上是重写方法来帮助防止人为错误。 与Override相似它的最佳做法是使用单个抽象方法将Functional批注放在方法的顶部以向Javadoc等工具表明它们是功能接口。 用Functional注释对java.util.function包中添加的所有新功能接口进行注释。 顺便说一句是的我们在JDK 8中提供了更多的功能接口特别是通用功能接口例如Predicate Supplier Consumer Function BiFunction UnaryOperator等。请参见 Java 8初学者的基础知识可深入了解所有这些接口。 这些功能接口允许您以lambda表达式的形式将代码传递给函数并允许创建可以对这些代码进行操作的强大方法例如 filter接受谓词并允许您传递接受一个参数并返回布尔值的代码。 功能接口和Lamda表达式如何关联 功能接口的知识如何影响lambda表达式的编写 好吧除非您不了解功能接口否则您将无法编写可转换为该功能接口的lambda表达式。 例如 java.util.Map接口的merge()方法接受BiFunction但是如果您不知道什么是BiFunction则无法为此编写lambda。 BiFunction是一个功能接口具有一个接受两个参数T和U并返回对象R的方法。 这意味着您可以将lambda传递给此方法该方法可处理两个参数并返回一个对象例如merge(key, value, (v1, v2) - v1 v2)这里(v1, V2) - v1 v2是一个可以转换为BiFunction功能接口实例的lambda表达式。 一个更简单的示例是Predicate 它接受类型T并返回一个布尔值。 如果您看Stream类的filter方法它将接受一个谓词 filter(Predicate predicate) 这意味着您可以传递任何接受一个参数的lambda表达式然后将布尔值返回给该方法例如age - age 15 or s - s.length 15 这两个都是可接受的但是如果您不知道什么是a谓词接口那么您将无法做到这一点。 功能接口的另一个示例是Consumer 它接受类型T的参数并且不返回任何内容。 JDK 8中Iterable的forEach()方法很好地利用了这一点如下所示 forEach(Consumer action) 您会看到forEach接受了Consumer这意味着您可以向其传递一个lambda表达式该表达式具有一个参数不返回任何内容或返回空值例如 s - System.out.println(s) 代码System.out.println()返回任何内容它仅在控制台中打印行。 您可以看到如果您知道功能接口则可以轻松编写lambda表达式以进行传递因此必须对功能接口有充分的了解。 我建议您遍历java.util.function包中的所有功能接口并了解它们。 我将在以后的文章java.util.function包中的一些更复杂的功能接口但是如果您迫不及待那么我建议您学习此Java 9 Master Class课程以了解有关Lambda和其他Java的更多信息。 8个概念。 这就是Java中的功能接口 。 您还了解了Functional批注的作用以及为什么要对Java 8中的代码中的lambda表达式进行有效使用需要对功能接口有充分的了解。如果您尚未开始使用Java 8建议您这样做。之所以这样做是因为在未来几年中每个人都将使用Java 8进行编码如果您不知道lambda表达式和Java 8中引入的新功能那么您将被抛在后面。 其他Java 8教程和参考资料供进一步学习 Java 8的新增功能Lambdas 如何使用Lambda按键和值对HashMay进行排序 如何在Java 8中使用map和flatMap 如何在Java 8中进行Map Reduce 如何在Java 8中将lambda表达式转换为方法引用 Java SE 8新功能–完整指南 感谢您到目前为止阅读本文。 如果您喜欢我对Functional接口和Functional注释的解释请与您的朋友和同事分享。 如果您有任何疑问或反馈请发表评论。 翻译自: https://www.javacodegeeks.com/2018/01/functional-interface-java-8-functional-annotation-examples.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88482.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪个网站系统做的好社群小程序搭建

0 Preface/Foreword 0.1 基本概念 Git版本管控工具功能强大,在使用过程中,在多人合作的项目开发过程中,经常会遇到提交代码时出现的warning提醒,尤其是换行符。 Linux/Unix/Mac OS操作系统的换行符使用LF符号(\n&am…

建设一个属于自己网站产品商城网站建设

目录 专栏导读 1 正则表达式概述 2 正则表达式语法 2.1 正则表达式语法元素 2.2 正则表达式的分组操作 3 re 模块详解与示例 4 正则表达式修饰符 专栏导读 专栏订阅地址:https://blog.csdn.net/qq_35831906/category_12375510.html 1 正则表达式概述 python 的…

北京网站建设最大的公司排名怎么建设一个开源平台网站

1.1队列的定义 队列(queue)简称队,它也是一种操作受限的线性表,其限制为仅允许在表的一端进行插入操作,而在表的另一端进行删除操作 一些基础概念: 队尾(rear) :进行插…

网站的站点建设分为网站开发营业执照申请

本系列教程配套出有视频教程,观看地址:https://www.bilibili.com/video/BV1gV4y1e7Sg 4. 驱动LCD屏(SPI) 本次实验我们在上一次实验的基础上驱动 LCD屏(SPI)。 上次实验我们已经能驱动触摸屏(I2C)并打印触摸点坐标,这次实验我们的目标是点…

南京网站设计公司哪儿济南兴田德润怎么联系sem推广是什么意思呢

WPF ComboBox 使用 ResourceBinding 动态绑定资源键并支持语言切换独立观察员 2021 年 8 月 23 日我们平常在 WPF 中进行资源绑定操作,一般就是用 StaticResource 或者 DynamicResource 后面跟上资源的 key 这种形式,能满足大部分需求。但是有的时候&am…

广西网站建设营销公司可以直接进入网站的正能量网站

目录 1.前言 2.生成指定网段的IP字典自动化脚本 1.前言 在可回显的服务端跨站请求伪造(SSRF)漏洞中,我们通常会利用该漏洞进行内网资产探测。最近正好碰到了。写了一个小脚本。 2.生成指定网段的IP字典自动化脚本 脚本可指定协议、IP段、和端口生成字典。 get-Intranet-A…

廊坊哪里有制作手机网站的自己干电商如何下手

转【作者:一去丶二三里 博客地址:http://blog.csdn.net/liang19890820】 简述 语法高亮是文本编辑器用来显示文本的,特别是源代码,根据不同的类别来用不同的颜色和字体显示。这个功能有助于编写结构化的语言,例如&…

假发外贸网站模板阿里云建网站教程

网络编程是每个开发人员工具箱中的核心部分,我们在学习了诸多Java的知识后,也将步入几个大的方向,Java网络编程就是其中之一。 如今强调网络的程序不比涉及网络的更多。除了经典的应用程序,如电子邮件、Web浏览器和远程登陆外&…

wordpress怎么弄主题sem seo是什么意思呢

为什么要使用事务 日常开发中,很多操作,不是通过一个SQL就能完成的,往往需要多个SQL配合完成 当执行多个SQL操作的时候,如果中间出现了特殊的情况(程序崩溃,系统奔溃,网络断开,主机…

房地产网站建设招商电脑游戏排行榜2020前十名

这是一个以故障为主题的专业级电影故障闪光效果视频过渡pr转场模板。使用这些效果来增强视觉效果。包含视频教程。适用软件:Premiere Pro 2023|分辨率:38402160(4K) 来自PR模板网:https://prmuban.com/36092.html

网站优秀网站地址专业团队英文

老A说的一句话让我很受启发,想要深入了解框架,你要把精力聚焦在架构设计的层面来思考问题。而透彻了解底层原理,最好的笨办法就是根据原理对框架核心进行重建或者说再造。看起来没有捷径,也是最快的捷径。相信很多读者已经看过老A…

没有备案号的网站中铁建设集团集采网站

100. 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: p [1,2,3], q [1,2,3] 输出&#xff1…

沭阳城乡建设局网站怎么看网站做的好不好

洗鞋店小程序,干洗店软件,洗护行业小程序,上门取衣小程序,预约干洗小程序,校园干洗店小程序,工厂干洗店小程序,干洗店小程序开发,成品软件开发 洗衣工厂软件、功能强大! 包含以下主要功能: * 用户选择洗护用品&#x…

网站续费会计分录怎样做百度域名注册查询

把可能的进行二分判断&#xff0c;判断的时候尽量向右取&#xff0c;一直取到不能去为止&#xff0c;这样才有可能成功分割。 判断是否可以把up作为最大值的代码&#xff1a; bool judge(LL up){if(up < Big) return false; //Big是数组中最大值&#xff0c;如果up小于最大值…

网站备案有哪些费用网络科技公司企业文化

单例模式是校招中最常考的设计模式之一. 设计模式其实就是类似于“规章制度”&#xff0c;按照这个套路来进行操作。 单例模式能保证某个类在程序中只存在唯一 一份实例。而不会创建出多个实例&#xff0c;如果创建出了多个实例&#xff0c;就会编译报错。而不会创建出多个实…

别人网站 自己的二级域名受雇去建设网站类网站

在 QML 中&#xff0c;Column 和 Row 是常用的布局元素&#xff0c;用于水平&#xff08;Row&#xff09;和垂直&#xff08;Column&#xff09;排列它们的子元素。以下是这两个元素的主要属性列表&#xff1a; Column 属性 spacing: 子元素之间的垂直间隔。width 和 height:…

人防网站建设与服务济宁那家做网站最好

[算法日志]图论刷题: 沉岛思想的运用 leetcode 695 岛屿最大面积 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一些相邻的 1 (代表土地) 构成的组合, 这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻. 你可以假设 grid 的四个边缘都被 0&#xff08…

网站当地备案企业网站建设结论

想象一下,一家公司在芬兰 Google Cloud 数据中心的服务器上托管一个网站。对于欧洲用户来说,加载可能需要大约 100 毫秒,但对于墨西哥用户来说,加载需要 3-5 秒。幸运的是,有一些策略可以最大限度地减少远程用户的请求延迟。 这些策略称为缓存和内容交付网络 (CDN),它们是…

网站后台文章字体什么2007做视频网站

目录 网络Internet &#xff08;互联网或互连网&#xff09;Internet&#xff08;因特网&#xff09;待续、更新中 网络 指将分布在不同地理位置的、相同或不同类型的网络通过网络互连设备&#xff08;中继器、网桥、路由器或网关等&#xff09;相互连接&#xff0c;形成一个范…

交易类网站建设功能表怎么下载网站动态图片

1、什么是内存对齐 计算机系统对基本类型数据在内存中放的位置做了限制,它们会要求这些数的首地址是一个数(一般为4和8)的整数倍,我们看下结构体的大小 #include <stdio.h> struct A {char a;int b; };int main() {printf("size of struct A is %d\n", sizeo…