【问题标题】:Meaning of java operator "->" [duplicate]java运算符“->”的含义[重复]
【发布时间】:2016-07-25 18:06:24
【问题描述】:

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);
        });
    }

【问题讨论】:

    标签: java


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-02-19
      • 1970-01-01
      • 2012-02-28
      • 2017-02-08
      • 1970-01-01
      • 2012-09-09
      • 2016-12-11
      • 2012-08-23
      • 2011-11-06
      相关资源
      最近更新 更多