函数型接口:Interface Function<T,R>
传入参数类型为T,返回值类型为R。R apply(T t)
public class FunctionInter {
public static void main(String[] args) {
// Function<String,String> function = new Function<String, String>() {
// @Override
// public String apply(String s) {
// return s;
// }
// };
Function<String,String> function = (str)->{ return str; };
System.out.println(function.apply("123"));
}
}
断定型接口:Interface Predicate<T>
传入参数t,返回值类型为boolean类型。boolean test(T t)
public class FunctionInter {
public static void main(String[] args) {
// Predicate<String> predicate = new Predicate<String>() {
// @Override
// public boolean test(String s) {
// if (s.equals("abc")){
// return true;
// }else {
// return false;
// }
// }
// };
Predicate<String> predicate = (str)->{
if (str.equals("abc")){
return true;
}else {
return false;
}
};
System.out.println(predicate.test("abc"));
}
}
消费型接口:Interface Consumer<T>
只有输入,没有返回值。void accept(T t)
public class FunctionInter {
public static void main(String[] args) {
// Consumer<String> consumer = new Consumer<String>() {
// @Override
// public void accept(String s) {
// System.out.println(s);
// }
// };
Consumer<String> consumer1 = (s)->{ System.out.println(s); };
consumer1.accept("123");
}
}
供给型接口:Interface Supplier<T>
没有参数,有返回值。T get()
public class FunctionInter {
public static void main(String[] args) {
Supplier<String> supplier = new Supplier<String>() {
@Override
public String get() {
return "456";
}
};
Supplier<String> supplier1 = ()->{ return "456"; };
System.out.println(supplier.get());
}
}