码迷,mamicode.com
首页 > 编程语言 > 详细

java8新特性-lambda(2)

时间:2020-06-02 22:59:25      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:lambda   world   boolean   run   equal   hello   参数   file   特性   

1.java类型系统内建函数式接口

(1) java.lang.Runnable

(2) java.lang.Comparable

(3) java.lang.Comparator

(4) java.io.FileFilter

(5) more....

(6) java.util.function.Predicate<T>

     接收参数对象为T,返回一个boolean类型结果

  Predicate<String> predicate = (String username) -> {
    return "admin".equals(username);
  };
  System.out.println(predicate.test("admin")); 

(7) java.util.function.Customer<T>

     接收参数为T,不返回结果

    Consumer<String> consumer = (String message) -> {
        System.out.println("要发送的消息:" + message);
        System.out.println("消息发送完成");
    };
    consumer.accept("hello world");    

(8) java.util.function.Function<T, R>

 接收参数对象为T,返回结果类型为R

    Function<String, Integer> function = (String gender) -> {
        return "manger".equals(gender) ? 1 : 0;
    };
    System.out.println(function.apply("manger"));

(9) java.util.function.Supplier<T> 

 不接收参数,提供T对象的创建工厂

  Supplier<String> supplier = () -> {
    return UUID.randomUUID().toString();
  };
  System.out.println(supplier.get());

(10) java.util.function.UnaryOperator<T>

 接收参数对象T,返回参数对象T

    UnaryOperator<String> unaryOperator = (String img) -> {
        return img + "[100 * 200]";
    };
    System.out.println(unaryOperator.apply("kk"));

(11) java.util.function.BinaryOperator<T>

 接收两个T对象,返回一个T对象结果

    BinaryOperator<String> binaryOperator = (String a, String b) -> {
        return a + b;
    };
    System.out.println(binaryOperator.apply("a", "b"));

  

总结:java.util.function提供了大量的函数式接口

Predicate:接收参数对象为T,返回一个boolean类型结果

Customer:接收参数为T,不返回结果

Function:接收参数对象为T,返回结果类型为R

Supplier:不接收参数,提供T对象的创建工厂

UnaryOperator:接收参数对象T,返回参数对象T

BinaryOperator:接收两个T对象,返回一个T对象结果

java8新特性-lambda(2)

标签:lambda   world   boolean   run   equal   hello   参数   file   特性   

原文地址:https://www.cnblogs.com/freeht/p/13029194.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!