做搜狗手機網(wǎng)站快速排十大中文網(wǎng)站排名
新時代程序員必須要會的 :lambda表達式、鏈式編程、函數(shù)式接口、Stream流式計算
什么是函數(shù)式接口
1.函數(shù)型接口
package com.kuang.function;import java.util.function.Function;/*** Function函數(shù)型接口 有一個輸入?yún)?shù),有一個輸出* 只要是函數(shù)式接口,就可以用lambda表達式簡化*/
public class Demo01 {public static void main(String[] args) {
// Function<Integer,String> function = new Function<Integer,String>() {
// @Override
// public String apply(Integer i) {
// return String.valueOf(i);
// }
// };Function<Integer,String> function = i -> String.valueOf(i);System.out.println(function.apply(5));}
}
?
2.斷言型接口
package com.kuang.function;import java.util.function.Predicate;/*** Predicate斷言式接口 有一個輸入?yún)?shù),返回boolean值* 只要是函數(shù)式接口,就可以用lambda表達式簡化*/
public class Demo02 {public static void main(String[] args) {
// Predicate<Integer> predicate = new Predicate<Integer>() {
// @Override
// public boolean test(Integer integer) {
// if (integer > 5) {
// return true;
// }
// return false;
// }
// };Predicate<Integer> predicate = integer -> {if (integer > 5) {return true;}return false;};System.out.println(predicate.test(6));}
}
?
3.消費型接口
?
package com.kuang.function;import java.util.function.Consumer;/*** Consumer消費型接口 有一個輸入?yún)?shù),無返回值* 只要是函數(shù)式接口,就可以用lambda表達式簡化*/
public class Demo03 {public static void main(String[] args) {
// Consumer<String> consumer = new Consumer<String>() {
// @Override
// public void accept(String s) {
// System.out.println(s);
// }
// };Consumer<String> consumer = s -> System.out.println(s);consumer.accept("我好帥");}
}
4.供給型接口
package com.kuang.function;import java.util.function.Supplier;/*** Supplier供給型接口 無參數(shù),有返回值* 只要是函數(shù)式接口,就可以用lambda表達式簡化*/
public class Demo04 {public static void main(String[] args) {
// Supplier<String> supplier = new Supplier() {
// @Override
// public String get() {
// return "good study";
// }
// };Supplier<String> supplier = () -> "good study";System.out.println(supplier.get());}
}
?