每日一词——@FUnctionalInterface
[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相关推荐
- 每日一词20190316——GIS矢量数据和栅格数据对比
因为前两天介绍了矢量和栅格这两种数据格式,今天的每日一词把这两种数据格式放到一起,分别说一下每个格式的特点和优缺点.明天每日一词会继续GIS名词解释.为了方便我们大家一起学习,在今天的推送底下放了微信 ...
- 每日一词20190308——大地水准面(geoid)
说大地水准面(geoid)之前,首先要来说一下水准面的概念. 水准面是指静止的水面,当液体处于静止状态时,其表面各处必定与重力方向正交,否则液体就要流动.这个液体静止的表面就成为水准面.它是受地球表 ...
- 每日一词20190311——高程(altitude或elevation)
高程是地面上某点到某一水平面的垂直距离.分绝对高程(即海拔)和假定高程(离假定水平面的垂直距离,即相对高度).某点沿铅垂线方向到绝对基面的距离,称绝对高程,简称高程.某点沿铅垂线方向到某假定水准基面的 ...
- 每日一词: 战略 2022.3.30
战略四问:我现在在哪?我要去哪?怎么去?到了之后怎么办? 邓巴数理论,最佳社交人数为150人. 下午自个用电脑批量删除了一波互动频率比较低的宣传号和旁友(360人左右).我们从心出发,奔赴山海. 如果 ...
- 每日一词20190307——参考椭球体(reference spheroid)
参考椭球体亦称"参考扁球体"或"参考椭圆体".椭圆绕其短轴旋转所成的形体,是形状.大小一定,且经过定位.定向的地球椭球体.是与某个区域如一个国家大地水准面最为密 ...
- 每日一词20190318——图像金字塔(image pyramid)
图像金字塔是图像多尺度表达的一种,以多张多分辨率的图像来解释图像的有效但概念简单的结构.一幅图像的金字塔是一系列以金字塔形状排列的分辨率逐步降低,且来源于同一张原始图的图像集合.其通过梯次向下采样获得 ...
- 【每日一词】subservient
1.释义 subservient: adj. 屈从的:奉承的:有用的:有帮助的 2.例句 The newly civilized regions in India and China remained ...
- 【每日一词】wishy-washy
1.释义 wishy-washy: adj. 空泛的:缺乏特点或决心的:淡而无味的:缺乏力量的. 2.例句 Sometimes the only problem with a routine is t ...
- 每日一词20190315——元数据(Metadata)
元数据是用来定义数据的数据,是描述数据的数据(data about data),是对数据及信息资源的描述性信息.在地理空间数据中,元数据是关于数据的描述性信息,说明数据内容.质量.状况和其他有关特征的 ...
最新文章
- 开发了个 Flipper 调试工具的 Flutter 版本 SDK,让 Flutter 应用调试起来更容易
- DPM(Deformable Parts Models)-----目标检测算法理解
- {0,1,2.....Fmax} 每个数出现的次数
- linux中死锁的概念,【Linux】死锁概念总结
- Android抽屉页面效果
- 1333:【例2-2】Blah数集
- python中ta_非常详细的Ta-Lib安装及使用教程
- php之thinkphp3.2.3 文件访问路径,URL路由配置-与重定向
- 这样的科幻不该被埋没,吐血推荐!
- 【Paper-Attack】Graph Universal Adversarial Attacks: A Few Bad Actors Ruin Graph Learning Models
- EVM 操作码(Opcode)与 字节码(Bytecode)
- linux修改文件夹属性,Linux修改文件/文件夹属性
- 传感器检测技术——传感器的静态特性
- 高中计算机课ps,高中信息技术Photoshop操作题知识点
- window setting.settings 详解。
- 姚前:美联储数字货币原型系统简析
- android高德地图瓦片,2017版高德地图瓦片分析
- linux etc login.def,Linux-用户管理命令
- .Net neatupload上传控件实现文件上传的进度条
- 末日边境_环境计算与旗舰设备的末日