java8新特性(java8内置的四大函数式接口)
程序员文章站
2022-06-28 17:13:03
内置函数式接口1.Consumer:消费型接口 void accept(T t);2.Supplier: 供给型接口 T get();3.Function:函数型接口 R apply(T t);4.Predicate:断言型接口 boolean test(T t);......
内置函数式接口
1.Consumer<T>:消费型接口
void accept(T t);
2.Supplier<T>: 供给型接口
T get();
3.Function<T, R>:函数型接口
R apply(T t);
4.Predicate<T>:断言型接口
boolean test(T t);
public class TestJava84 {
//消费型接口
@Test
public void test01(){
happy(100d,m->{
System.out.println("今天吃饭,花了" + m + "元钱");
});
}
public void happy(double money, Consumer con){
con.accept(money);
}
//供给型接口
@Test
public void test02(){
System.out.println(getList(10, () -> {
return (int) (Math.random() * 100);
}));
}
public List<Integer> getList(int num, Supplier<Integer> sup){
List<Integer> list = new ArrayList<>();
for (int i = 0; i < num; i++) {
list.add(sup.get());
}
return list;
}
//函数型接口
@Test
public void test03(){
System.out.println(operationString("wangmeng", x -> x.toUpperCase()));
}
public String operationString(String str, Function<String,String> fun){
return fun.apply(str);
}
//断言型接口
@Test
public void test04(){
System.out.println(operationBoolean(1, x -> x > 0));
}
public Boolean operationBoolean(int num, Predicate<Integer> pre){
return pre.test(num);
}
}
本文地址:https://blog.csdn.net/to_real/article/details/107889287
推荐阅读
-
函数式接口 + Lamda表达式推导过程(Java8 新特性)
-
java8的函数式接口
-
荐 Java语言基础之JDK1.8新特性(Lambda表达式、函数式接口、Stream流、新的日期API)
-
乐字节-Java8新特性之函数式接口
-
java8新特性(java8内置的四大函数式接口)
-
Lambda表达式详解(java8新特性,函数式编程)
-
深入理解Java8新特性之接口中的默认方法和静态方法
-
Java8新特性(二) 接口中的默认方法和静态方法(面试题:抽象类和接口的区别)
-
Java8新特性学习-函数式编程(Stream/Function/Optional/Consumer)
-
java8新特性lambda表达式、函数式编程、方法引用和接口默认方法以及内部类访问外部变量