Jdk 1.8 4大函数式接口
主要在 java.util.function 包中
java.util.function Interface Supplier<T>
接口中包含了一个抽象方法T get()
。用来获取一个泛型参数指定类型的对象数据。
该接口被称为生产型接口,指定接口是什么类型,那么接口中的get方法就会产生什么类型的数据。
public class SupplierTest {
public static String getString(Supplier<String> sup){
return sup.get();
}
public static int getInt(Supplier<Integer> sup){
return sup.get();
}
public static void main(String[] args) {
String str = getString(() -> "heroC");
/*getString(new Supplier<String>() {
@Override
public String get() {
return "heroC";
}
});*/
System.out.println(str);
int strInt = getInt(() -> 1130);
System.out.println(strInt);
}
}
java.util.function Interface Consumer<T>
接口正好与Supplier接口相反,它不是生产一个数据,而是消费(使用)一个数据,其数据类型由泛型决定。
抽象方法:void accept(T t)
,意为消费一个数据类型。