Lamada表达式小技巧介绍

函数式编程

@FunctionalInterface
interface Lf{
    void dispaly();
}
@FunctionalInterface为显示定义函数时编程接口,不符合函数式编程接口会报错匿名内部类使用方式
public class FunPrograming {

	public static void main(String[] args) {
		func func = new func() {
			@Override
			public void dispaly() {
				// TODO Auto-generated method stub
				System.out.println("dispaly()运行");
			}
		};
		func.dispaly();
	}
}

dispaly()运行

  lamada: 拷贝小括号,写死->,落地大括号{}

public class FunPrograming {

    public static void main(String[] args) {

        func func = ()->{
            System.out.println("dispaly()运行");
        };
        func.dispaly();
    }
}
dispaly()运行
 
带返回值的接口
@FunctionalInterface
interface func {//Invalid ‘@FunctionalInterface‘ annotation; func is not a functional interface定义两个普通方法就会报错,不符合函数编程
    public void dispaly();
    public int  add(int x,int y);
}
//拷贝小括号,写死->,落地大括号{}@FunctionalInterface
interface func {
    //public void dispaly();
    public int  add(int x,int y);
}

public class FunPrograming {

    public static void main(String[] args) {
        func func = (int x,int y)->{
            System.out.println("add(int x,int y)运行");
            return x+y;
        };
        System.out.println(func.add(3,5));
    }
}

add(int x,int y)运行
8

函数式编程接口中如何定义多个方法

@FunctionalInterface
interface func {
    default void dispaly() {
        System.out.println("default void dispaly()");
    }
    default int mul(int x ,int y) {
        System.out.println("default int mul");
        return x* y;
    }
    static int dec(int x,int y) {
        System.out.println("static int dec(int x,int y)");
        return x-y;
    }
    static int div(int x,int y) {
        System.out.println("static int div(int x,int y)");
        return x/y;
    }
    public int  add(int x,int y);
}
 

原文地址:https://www.cnblogs.com/flgb/p/11768282.html

时间: 2024-10-08 13:43:11

Lamada表达式小技巧介绍的相关文章

( 译、持续更新 ) JavaScript小技巧介绍

感谢好友破狼提供的这篇好文章,也感谢写这些知识点的作者们和将他们整理到一起的作者.这是github上的一篇文章,在这里本兽也就只做翻译,由于本兽英语水平和编程能力都不咋地,如有不好的地方也请多理解体谅.原文 能够为大家提供这些简短而实用的JavaScript技巧来提高大家编程能力,这对于我来说是件很开心的事.每天仅花上不到2分钟的时间中,你将可以读遍JavaScript这门可怕的语言所呈现给我们的特性:performance(性能), conventions(协议), hacks(代码hack)

205. jetcache:你需要知道的小技巧

[视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源码:https://gitee.com/happyangellxq520/spring-boot à Spring Boot交流平台:http://412887952-qq-com.iteye.com/blog/2321532 à Spring Boot Shiro视频:http://t.cn/R3QDMbh

Angular(03)-- lint风格规范和WebStorm小技巧

在开始讲 Angular 各个核心知识点之前,想先来讲讲开发工具 WebStorm 的一些配置以及相应配置文件如 tslint.json 的配置. 因为我个人比较注重代码规范.代码风格,而对于这些规范,我只有一个观点:一切需要依赖开发人员的主观意识去遵守的规范都没有多大意义. 以前做 Android 开发时会借助 AndroidStudio 来强制遵守一些规范,现在前端项目我用的是 WebStorm 开发,这两个开发工具本质上同源,所以很多功能都差不多. 那么,这篇就来讲一讲,如何对 WebSt

学会这些 pycharm 编程小技巧,编程效率提升 10 倍

PyCharm 是一款非常强大的编写 python 代码的工具.掌握一些小技巧能成倍的提升写代码的效率,本篇介绍几个经常使用的小技巧. 一.分屏展示 当你想同时看到多个文件的时候: 1.右击标签页: 2.选择 move right 或者 split vertical: 3.效果. 二.远程 Python 解释器 1.解释器设置里点击设置: 2.选择 docker, ssh 等远程解释器. 三.Live Templates live templates 主要是偷懒用的,采用事先定义好的模板,一个按

Windows Phone开发(8):关于导航的小技巧

前文用几个例子对导航做了简单介绍,在一般应用中,使用上一篇文章中说到的方法,其实也够用了,不过,为了能够处理一些特殊的情况,有几个小技巧还是有必要了解一下的. 一.到底该不该设置"后退"操作?因为手机的硬件层就有一个"回退"按钮,按理说我们不需要在程序中再添加什么回退按钮之类的,不过,还是有必要看看如何手动加入回退功能. 1.新建一个WP应用项目.2.除默认的主页外,新建一个页面Page2.xaml.3.在主页上放一个按钮,编写Click事件处理代码,导航到Page

Playground 你不知道的小技巧, CoreData 的使用

Playground 的出现无疑是大大的提高了开发效率,可以节省大量的编译时间. 这里介绍在 Playground 中使用 CoreData 的小技巧. 我们新建一个工程 iOS 项目工程. 点击 File -> New -> File , 在工程中新建文件 Data Model 文件  在 model 中添加一个 Entitle,如下图  编译工程后,在 Product 选择生成的 .app 文件,找到该目录,如下图  查看包中的文件,如图  可以看到一个 Mode.momd 文件, 如图 

Nginx return 关键字配置小技巧

Nginx的return关键字属于HttpRewriteModule模块: 语法:return http状态码 默认值:无 上下文:server,location,if 该指令将结束执行直接返回http状态码到客户端. 支持的http状态码:200, 204, 400, 402-406, 408, 410, 411, 413, 416 , 500-504,还有非标准的444状态码. 使用方法: #不符合规则的返回403禁止访问 location /download/ {     rewrite 

window.open的小技巧分享(转)

今天再次谈起window.open是因为发现了一个比较好玩的小技巧,详细内容我们稍后详细说明. 聊到window.open,不得不说明一下他的使用方法,主要有两种形式: window.open()没有任何参数,这种方式可以新标签打开页面 window.open(url, name, pars),带有参数的可以在当前页面打开窗口 详细的使用方法,之前有过介绍,如果想了解,可以点击这里. 知道了如何使用,接下来介绍几个特别的属性和方法(下面所说到的都是同域页面): window.open()打开的窗

FineUI小技巧(5)向子窗口传值,向父窗口传值(另附24张专业版高清大图)

前言 FineUI中经常会用到启用IFrame的Window控件,这样有助于从物理上进行代码解耦和.IFrame的引入就会涉及传值问题,如何在父窗口和子窗口之间相互传值呢? 向子窗口传值 向子窗口传值只需要把要传递的参数放在页面URL中即可,一般有两种做法: 页面回发,在后台通过C#代码拼接需要的URL(推荐做法,方便!) 页面第一次加载时,即注册需要的URL(如果参数是页面上某输入框的值,则需要在URL中嵌入JavaScript代码) 来看一个例子,分别用上述两种方式实现: 页面的初始显示 点