Java8函数式接口  
   
所属分类 java8
浏览量 1131
函数式接口 只有一个抽象方法的接口
可以被隐式转换为Lambda表达式
可以用@FunctionalInterface注解标识
@FunctionalInterface注解是对函数式接口的标识
对接口进行编译级别的检查
如果一个接口使用了这个注解,但是写了两个抽象方法,会出现编译错误
JDK1.8之前 符合函数式接口定义的接口
java.lang.Runnable
java.util.concurrent.Callable
java.util.Comparator
java.awt.event.ActionListener
javax.swing.event.ChangeListener
java.io.FileFilter
java.nio.file.PathMatcher
java.lang.reflect.InvocationHandler
java.security.PrivilegedAction
java.beans.PropertyChangeListener
JDK1.8之后 添加了一组函数式接口
java.util.function.*
Consumer
void accept(T t);
Supplier
T get();
ToIntFunction
int applyAsInt(T value);
import java.util.function.Consumer;
import java.util.function.Supplier;
public class Test {
    public static void main(String[] args) {
        Consumer consumer = (s) -> System.out.println("hello," + s);
        consumer.accept("java");
        
        Supplier supplier = () -> "hello";
        String result = supplier.get();
        System.out.println(result);
    }
}
 上一篇  
   
 下一篇  
 mysql导出错误 
 aerospike prometheus grafana 监控 
 aerospike启动指定配置文件 
 Java8常用函数式接口 
 java8 lambda 原理及性能 
 aerospike 日志