Lamdba语法实际上简化为了方法引用,但其核心在于函数式编程。函数式接口有四种:
功能型函数式接口(输入一个数据,在数据处理后再输出):
如果现在确定操作的数据是int,则可以使用IntFunction;
public interface Function<T,R> {public R apply(T t);};
For example:
public class Test {
public static void main(String args[]) {
Function<Integer,String> iu=String::valueOf;
System.out.println(iu.apply(100));
}
}
供给型函数接口:
Interface Supplier<T> {public T get();};
For example:
public class Test {
public static void main(String args[]) {
Supplier<String> cons="hello"::toUpperCase;
System.out.println(cons.get());
}
}
消费型函数
pulic interface Consumer<T>{public void accept(T t);};
For example:
public class Test {
public static void main(String args[]) {
Consumer<String> cons=System.out::println;
cons.accept("Hello World!");
}
}
断言型函数接口
public interface Predicate<T>{boolean test(T t);};
For example:
public class Test {
public static void main(String args[]) {
Predicate<String> pre = "##hello"::startsWith;
System.out.println(pre.test("##"));
}
}