java运算符的含义“ - >”

时间:2016-04-05 16:50:25

标签: java

java运算符“ - >”的含义是什么如下面的代码所示,取自SpringBoot应用程序的初始化:

    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {

        return (container -> {
            ErrorPage error401Page = new ErrorPage(HttpStatus.UNAUTHORIZED, "/401.html");
            ErrorPage error403Page = new ErrorPage(HttpStatus.FORBIDDEN, "/403.html");
            ErrorPage error404Page = new ErrorPage(HttpStatus.NOT_FOUND, "/404.html");
            ErrorPage error500Page = new ErrorPage(HttpStatus.INTERNAL_SERVER_ERROR, "/500.html");

            container.addErrorPages(error401Page, error403Page, error404Page, error500Page);
        });
    }

1 个答案:

答案 0 :(得分:2)

这适用于lambda expression,这是Java 8中首次引入的语言功能。基本上,这是一个以container为参数的内联匿名函数。通常lambdas返回值,但在这里看起来它只是执行调用addErrorPagescontainer的“副作用”。没有为container指定类型,因为Java会根据上下文来确定它。

Lambda表达式不仅仅是一种语言特性,它们还是计算机科学和函数式编程的整个领域。描述它们的好SO帖子是here