package text;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.function.Supplier;
public class Demo3 {
public static void main(String[] args) {
//匿名内部类consumer消费型接口
Consumer<Double> consumer = new Consumer<Double>() {
@Override
public void accept(Double aDouble) {
System.out.println("聚餐消费" + aDouble);
}
};
//Lambda表达式
Consumer<Double> consumer1 = (d) -> System.out.println("聚餐消费" + d);
happy(consumer1, 5);
//供给型接口
int[] nums = getNums(() -> new Random().nextInt(100), 5);
String nums1 = getNums1(() -> "halleo", 2);
System.out.println(Arrays.toString(nums));
System.out.println(nums1);
String s1 = handlerString((s) -> s.toUpperCase(), "hello");
System.out.println(s1);
List<String> names = new ArrayList<>();
names.add("zhangs");
names.add("lis");
names.add("wangwu");
names.add("zhaoliu");
List<String> list = filterNames(s -> s.startsWith("zhang"), names);
System.out.println(list.toString());
}
public static void happy(Consumer<Double> consumer, double money) {
consumer.accept(money);
}
//Supplier 供给型接口
public static int[] getNums(Supplier<Integer> supplier, int count) {
int[] arr = new int[count];
for (int i = 0; i < count; i++) {
arr[i] = supplier.get();
}
return arr;
}
//Supplier 供给型接口
public static String getNums1(Supplier<String> supplier, int count) {
String substring = supplier.get().substring(count);
return substring;
}
//Function函数型接口
public static String handlerString(Function<String,String> function,String str){
return function.apply(str);
}
//Predicate 断言型接口
public static List<String> filterNames(Predicate<String> predicate,List<String> list){
List<String> list1 =new ArrayList<>();
for (String string : list){
if (predicate.test(string)){
list1.add(string);
}
}
return list1;
}
}
2021-03-30四大java函数型接口
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 今天青石的票圈出镜率最高的,莫过于张艺谋的新片终于定档了。 一张满溢着水墨风的海报一次次的出现在票圈里,也就是老谋...