Predicate (破底扣特)
适用范围:适用于需要传递一个T类型数据(任性类型的数据,T),返回一个boolean类型的结果的场景。
import java.util.function.Predicate;
public class FunctionInterface {
public static void main(String[] args) {
Predicate predicate = a ->{
if((Integer) a == 1){
System.out.println(1111);
return true;
}else{
System.out.println(2222);
return false;
}
};
predicate.test(1);
}
}
Consumer(抗修膜)
适用范围:适用于需要传递一个T类型数据(任性类型的数据,T),没有返回结果的场景。
import java.util.function.Consumer;
public class FunctionInterface {
public static void main(String[] args) {
Consumer consumer = a ->{
if((int) a == 1){
System.out.println("1111");
}else{
System.out.println("2222");
}
};
consumer.accept(1);
}
}
Function<T, R>(凡客心)
适用范围:适用于需要传递一个T类型数据(任性类型的数据,T),返回一个(任意)指定的类型®结果的场景(类型可以和传递的类型一致,也可以不一致)。
import java.util.function.Function;
public class FunctionInterface {
public static void main(String[] args) {
Function function = a->{
if((int) a == 1){
System.out.println("1111");
return "成功";
}else{
System.out.println("2222");
return "失败";
}
};
String str = (String) function.apply(1);
System.out.println("str:"+str);
}
}
Supplier(色破来额)
适用范围:适用于不需要传递参数,返回一个指定类型(T)结果的场景。
import java.util.function.Supplier;
public class FunctionInterface {
public static void main(String[] args) {
Supplier supplier = ()->{
return "aaa";
};
String str = (String) supplier.get();
System.out.println("str:"+str);
}
}
BiFunction<T, U, R>(必凡客心)
适用范围:适用于需要传递2个参数(任性类型的数据(T,U)),返回一个指定类型®结果的场景。
public class FunctionInterface {
public static void main(String[] args) {
BiFunction biFunction = (a,b)->{
if((int) a == 1 && (double) b == 2){
System.out.println("1111");
return "成功";
}else{
System.out.println("2222");
return "失败";
}
};
String str = (String) biFunction.apply(1, 2.1d);
System.out.println("str:"+str);
}
}
BiPredicate<T, U>(必破底扣特)
适用范围:适用于需要传递2个参数(任性类型的数据,T、U),返回一个boolean类型的结果的场景。
import java.util.function.*;
public class FunctionInterface {
public static void main(String[] args) {
BiPredicate biPredicate = (a,b) ->{
if((int)a == 1 && (double)b == 2.5){
System.out.println("1111");
return true;
}else{
System.out.println("2222");
return false;
}
};
biPredicate.test(1,2.5);
}
}
BiConsumer<T,U> (必抗修膜)
适用范围:适用于需要传递2个参数(任性类型的数据,T、U),不返回结果的场景。
import java.util.function.*;
public class FunctionInterface {
public static void main(String[] args) {
BiConsumer biConsumer = (a,b) ->{
if((int)a == 1 && (double)b == 2.5){
System.out.println("1111");
}else{
System.out.println("2222");
}
};
biConsumer.accept(1,2.5);
}
}