1. Function函数式接口
传入参数T,返回R
例:返回字符串大写
Function<String, String> function = new Function<String, String>() {
@Override
public String apply(String s) {
return s.toUpperCase();
}
};
System.out.println(function.apply("abc"));
简化:
Function<String,String> function=(str)->{return str.toUpperCase();};
2.Predicate断定型接口
断定型接口:有一个输入参数,返回值只能是 布尔值!
例:判断输入
Predicate<Integer> predicate = new Predicate<Integer>() {
@Override
public boolean test(Integer i) {
return i == 1;
}
};
System.out.println(predicate.test(1));
简化:
Predicate<Integer> predicate=(i)->{return i==1;};
3.Consumer 消费型接口
消费型接口,只有消费没有返回值
例:接收需要打印的字符串
Consumer<String> consumer = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
consumer.accept("adc");
简化:
Consumer<String> consumer=(str)->{
System.out.println(str);
};
consumer.accept("adc");
4.Supplier 供给型接口
没有参数只有返回值
例:返回字符串
Supplier<Integer> supplier = new Supplier<Integer>() {
@Override
public Integer get() {
return 1024;
}
};
System.out.println(supplier.get());
简化
Supplier<Integer> supplier=()->{
return 1024;
};
System.out.println(supplier.get());