代码之家  ›  专栏  ›  技术社区  ›  Basil Bourque

IntelliJ 2020能否将“可调用”lambda函数提取到新创建的类中?

  •  0
  • Basil Bourque  · 技术社区  · 5 年前

    IntelliJ 2020可以接受以下代码:

    Callable < Boolean > callable = ( ) -> {
        System.out.println( this.toString() );
        return Boolean.TRUE;
    };
    

    并将中间的两行提取为新创建的类。 Callable ?

    0 回复  |  直到 5 年前
        1
  •  1
  •   EricSchaefer    5 年前

    不,不行。至少我找不到办法。 我假设您想用一个包含lambda的两行的方法将lambda提取到一个泛型类中。如果您只希望将这个lambda分配给一个变量,那么还可以使用现有的函数接口之一。 java.util.function.Supplier<T> 很适合这个案子。

    Supplier<Boolean> callable = () -> {
        System.out.println(this.toString());
        return Boolean.TRUE;
    };