JUC并发编程学习(十一)四大函数式接口(必备)
生活随笔
收集整理的這篇文章主要介紹了
JUC并发编程学习(十一)四大函数式接口(必备)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
四大函數式接口(必備)
程序員:泛型、反射、注解、枚舉
新時代程序員:lambda表達式、鏈式編程、函數式接口、Stream流式計算
函數式接口:只有一個方法的接口
@FunctionalInterface
public interface Runnable {
public abstract void run();
}
//@FunctionalInterface 函數式接口,超級多
//簡化編程模型,在新版本的框架中大量應用!
//foreach(消費者類的函數式接口)
四大函數式接口:Consumer、Function、Predicate、Supplier
Function
- Function 函數式接口 R apply(T t); 輸入一個T類型的參數,返回一個R類型的值
- 只要是函數式接口都可以用lambda表達式簡化
簡化前:
Function ft = new Function<String,String>() {
@Override
public String apply(String str) {
return str;
}
};
簡化后:
Function ft = (str)->{return str;};
更加簡化后:
Function ft = str->{return str;};
Predicate
-
Predicate 斷定型接口 有一個輸入參數,返回類型只能是boolean值
-
同樣是一個函數式接口,可以簡化
簡化前:
Predicate<String> pr = new Predicate<String>() { @Override public boolean test(String str) { return str.isEmpty(); } };簡化后:
Predicate<String> pr = str ->{return str.isEmpty();};
Comsumer
- Comsumer 消費者接口 有一個輸入參數,沒有返回值
- 同樣可以簡化
簡化前:
Consumer<String> stringConsumer = new Consumer<>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
簡化后:
Consumer<String> stringConsumer = str ->{
System.out.println(str);
};
Supplier
- Supplier 供給者接口 沒有參數只有一個返回值
- 同樣可以簡化
簡化前:
Supplier<String> stringSupplier = new Supplier<>() {
@Override
public String get() {
return "我的世界";
}
};
簡化后:
Supplier<String> stringSupplier = ()->{return "我的世界";};
總結
以上是生活随笔為你收集整理的JUC并发编程学习(十一)四大函数式接口(必备)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PostgreSQL 序列(Sequen
- 下一篇: 20.7 OpenSSL 套接字SSL加