Java 8定义一个接收lambda表达式作为参数的方法

在Java 8,如果一个接口只声明了一个抽象方法,那么这个接口称为函数接口。

public interface Runnable { void run(); } 
public interface Callable<V> { V call() throws Exception; } 

对于接收函数接口为参数的方法,可以使用lambda表达式表示接口。其中lambda表达式需要和接口唯一函数的签名一致,即参数列表,返回值要一直。

@FunctionalInterface
interface Print<T> {
    public void print(T x);
}
public class Lambda {   
    public static void PrintString(String s, Print<String> print) {
        print.print(s);
    }
    public static void main(String[] args) {
        PrintString("test", (x) -> System.out.println(x));
    }
}

此例中,(x) -> System.out.prinln(x)表示接口Print<String>。

版权声明:著作权归作者所有。

相关推荐

Nginx同一个域名配置多个项目

使用Nginx要在同一个域名下配置多个项目有两种方式:nginx按不同的目录分发给不同的项目启用二级域名,不同的项目分配不同的二级域名nginx按不同的目录分发给不同的项目在nginx的server节点配置server {     listen    80;     server_name example.c

Spring定时任务@Scheduled的cron表达式

基本语法cron表达式由6-7个时间域组成,每个时间域之间用空格隔开。格式:<秒> <分> <时> <日期> <月> <星期> <年份> 秒:取值范围0-59分:取值范围0-59时:取值范围0-23日期:每月的的几数,0-31月:取值范围1-12,或英文简

使用Node.js实现一个简单的web服务器

这是使用Node.js写的一个简单Web服务器示例,分为三部分:响应http请求路由url读取静态文件响应新建一个app.js文件作为此web服务器的入口。响应http请求首先我们引入http模块,创建一个http服务器。const http = require('http'); const hostname = '127.0.0.1'