- Consumer(类似于消费者需要传入参数无返回值)
- Supplier(类似于生产者不需要传入参数,但有返回值)
- Function(有输入也有返回)
- Predicate(判断函数,有输入也有返回,返回true or false)
@Test
public void m1(){
Consumer<String> con1 = new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
};
con1.accept("哈哈");
Consumer<String> con2 = s -> System.out.println(s);
con2.accept("嘿嘿");
}
@Test
public void m2(){
Supplier<String> sup1 = new Supplier<String>() {
@Override
public String get() {
return "sup1";
}
};
System.out.println(sup1.get());
Supplier<String> sup2 = () -> {
System.out.println("sup2");
return "噢噢噢噢";
};
System.out.println(sup2.get());
}
@Test
public void m3(){
Function<String,String> fun1 = new Function<String, String>() {
@Override
public String apply(String s) {
return s + "拼接";
}
};
System.out.println(fun1.apply("嘿嘿"));
Function<String,String> fun2 = s -> s + "函数式接口";
System.out.println(fun2.apply("学习"));
}
@Test
public void m4(){
Predicate<String> pre1 = new Predicate<String>() {
@Override
public boolean test(String s) {
return s.contains("京");
}
};
System.out.println(pre1.test("北京"));
Predicate<String> pre2 = (s) -> s.contains("京");
System.out.println(pre2.test("北京"));
}