当前位置 主页 > 网站技术 > 代码类 >

    java8之lambda表达式用法总结(3)

    栏目:代码类 时间:2020-02-07 15:05

    有一个参数的构造函数的函数描述符是(T) -> R,可以使用Function接口,如下:

    Function<Long, User> c2 = User::new;
    
    User user = c2.apply(110L);

    有三个参数的构造函数

    有三个参数的构造函数的函数描述符是(T,U,V) -> R,没有现成的接口,需要自定义,如下:

    @Data
    @AllArgsConstructor
    public class User {
      private String name;
      private Long userId;
      private Integer age;
    }
    @FunctionalInterface
    public interface TriFunction<T,U,V,R> {
      R create(T t, U u, V v);
    }
    public static void main(String[] args) {
      TriFunction<String, Long, Integer, User> triFunction = User::new;
      User user = triFunction.create("tina", 12L, 13);
    }

    使用注意事项

    Lambda表达式可以引用静态变量、成员变量和最终的(final) 或事实上最终的局部变量。

    更多关于java8中lambda表达式相关方法请查看下面的相关链接