jdk8内置四大核心内置函数式接口
一. 四大核心内置函数式接口
- Consumer< T > 消费性接口 (有来无回),即有参数没有返回值
调用方法:void accept(T t)
public static void con(double money,Consumer consumer){
consumer.accept(money);
}
con(20,(e)-> System.out.println("我有"+e+"块钱!"));
- Predicate< T > 段言型,有参数,返回值为boolean类型
调用方法:boolean test(T t)
public static List<Student> filter(List<Student> students, Predicate<Student> mfilter){
List<Student> empstudents=new ArrayList<>();
for (Student s:students) {
if(mfilter.test(s)){
empstudents.add(s);
}
}
return empstudents;
}
- Function< T,R > 函数型接口,有参数有返回值,皆为任意类型
调用方法:R apply(T t)
public static String fun(String s, Function<String,String> function){
return function.apply(s);
}
//大小写转化
String ss = fun("aaaaaaa",(s)->s.toUpperCase());
//字符串截取
String sss = fun("abcdefg",(s)->s.substring(1,4));
- Supplier 供给型接口,无参数,有返回值
调用方法:T get()
public static int sup(Supplier<Integer> supplier){
return supplier.get();
}
//生成一个随机数
int num=sup(()->(int) (Math.random()*100));