[TOC]

释义

Conceptually, a functional interface has exactly one abstract method.

实例

java包的FunctionalInterface

java.lang.Runnable
java.awt.event.ActionListener
java.util.Comparator
java.util.concurrent.Callable
java.util.function.Consumer
java.util.function.Supplier

自己写一个FunctionalInterface

@FunctionalInterface
public interface FunctionalInterfaceSummary {int doSum(int x); // 抽象方法String toString(); boolean equals(Object obj); // boolean equals();default void display() {System.out.println("show sth..");}
}

实现FunctionalInterface原则

1、有且只有一个抽象方法
2、default方法自带实现,所以不是抽象方法,可以放进来
3、一个接口的实现,必然是继承了java.lang.Object的,所以可以@override其中的方法

Create Instance of Functional Interface

如果代码块很大,建议使用2,如果就一句话,建议使用1


1、lambda expressions

    public static void main(String[] args) {String[] name = {"liujingliang", "jinliangliu"};Arrays.sort(name, (String str1, String str2) -> {return str1.length() - str2.length();});}

2、method references

    String[] name = {"liujingliang", "jinliangliu"};Arrays.sort(name, new Comparator<String>() {@Overridepublic int compare(String str1, String str2) {return str1.length() - str2.length();}});

需求:如果这个排序方法,被很多方法使用,那么应该把这个排序抽出来作为静态的成员函数

    public static class StringOrder{public static int byLength(String str1, String str2) {return str1.length() - str2.length();}}public static void main(String[] args) {String[] name = {"liujingliang", "jinliangliu"};Arrays.sort(name, StringOrder::byLength);}

3、constructor references

    public static void main(String[] args) {Comparator<String> cp = new Comparator<String>() {@Overridepublic int compare(String str1, String str2) {return str1.length() - str2.length();}};String[] name = {"liujingliang", "jinliangliu"};Arrays.sort(name, cp);}

每日一词——@FUnctionalInterface相关推荐

  1. 每日一词20190316——GIS矢量数据和栅格数据对比

    因为前两天介绍了矢量和栅格这两种数据格式,今天的每日一词把这两种数据格式放到一起,分别说一下每个格式的特点和优缺点.明天每日一词会继续GIS名词解释.为了方便我们大家一起学习,在今天的推送底下放了微信 ...

  2. 每日一词20190308——大地水准面(geoid)

    ​说大地水准面(geoid)之前,首先要来说一下水准面的概念. 水准面是指静止的水面,当液体处于静止状态时,其表面各处必定与重力方向正交,否则液体就要流动.这个液体静止的表面就成为水准面.它是受地球表 ...

  3. 每日一词20190311——高程(altitude或elevation)

    高程是地面上某点到某一水平面的垂直距离.分绝对高程(即海拔)和假定高程(离假定水平面的垂直距离,即相对高度).某点沿铅垂线方向到绝对基面的距离,称绝对高程,简称高程.某点沿铅垂线方向到某假定水准基面的 ...

  4. 每日一词: 战略 2022.3.30

    战略四问:我现在在哪?我要去哪?怎么去?到了之后怎么办? 邓巴数理论,最佳社交人数为150人. 下午自个用电脑批量删除了一波互动频率比较低的宣传号和旁友(360人左右).我们从心出发,奔赴山海. 如果 ...

  5. 每日一词20190307——参考椭球体(reference spheroid)

    参考椭球体亦称"参考扁球体"或"参考椭圆体".椭圆绕其短轴旋转所成的形体,是形状.大小一定,且经过定位.定向的地球椭球体.是与某个区域如一个国家大地水准面最为密 ...

  6. 每日一词20190318——图像金字塔(image pyramid)

    图像金字塔是图像多尺度表达的一种,以多张多分辨率的图像来解释图像的有效但概念简单的结构.一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合.其通过梯次向下采样获得 ...

  7. 【每日一词】subservient

    1.释义 subservient: adj. 屈从的:奉承的:有用的:有帮助的 2.例句 The newly civilized regions in India and China remained ...

  8. 【每日一词】wishy-washy

    1.释义 wishy-washy: adj. 空泛的:缺乏特点或决心的:淡而无味的:缺乏力量的. 2.例句 Sometimes the only problem with a routine is t ...

  9. 每日一词20190315——元数据(Metadata)

    元数据是用来定义数据的数据,是描述数据的数据(data about data),是对数据及信息资源的描述性信息.在地理空间数据中,元数据是关于数据的描述性信息,说明数据内容.质量.状况和其他有关特征的 ...

最新文章

  1. 开发了个 Flipper 调试工具的 Flutter 版本 SDK,让 Flutter 应用调试起来更容易
  2. DPM(Deformable Parts Models)-----目标检测算法理解
  3. {0,1,2.....Fmax} 每个数出现的次数
  4. linux中死锁的概念,【Linux】死锁概念总结
  5. Android抽屉页面效果
  6. 1333:【例2-2】Blah数集
  7. python中ta_非常详细的Ta-Lib安装及使用教程
  8. php之thinkphp3.2.3 文件访问路径,URL路由配置-与重定向
  9. 这样的科幻不该被埋没,吐血推荐!
  10. 【Paper-Attack】Graph Universal Adversarial Attacks: A Few Bad Actors Ruin Graph Learning Models
  11. EVM 操作码(Opcode)与 字节码(Bytecode)
  12. linux修改文件夹属性,Linux修改文件/文件夹属性
  13. 传感器检测技术——传感器的静态特性
  14. 高中计算机课ps,高中信息技术Photoshop操作题知识点
  15. window setting.settings 详解。
  16. 姚前:美联储数字货币原型系统简析
  17. android高德地图瓦片,2017版高德地图瓦片分析
  18. linux etc login.def,Linux-用户管理命令
  19. .Net neatupload上传控件实现文件上传的进度条
  20. 末日边境_环境计算与旗舰设备的末日

热门文章

  1. 我陪你慢慢成长——苏子语录2015下半…
  2. Android添加UserAgent
  3. 面试官这样,面试就有戏了!
  4. 大都会人寿线下培训第九天-通关了
  5. 【Hive】Both left and right aliases encountered in JOIN
  6. 保研er:9月,我太南了...
  7. OMPL库教程翻译/OMPL学习
  8. 聊聊旷厂黑科技 | 手机多摄的终极奥义是“多”吗?
  9. 纯js实现搜索框自动补全
  10. 全闪存存储 NetApp AFF A 系列 ——引领闪存的未来发展