示例:
new Thread(new Runnable() {
@Override
public void run() {
// 运行线程
}
});
在应用快速修复后:
new Thread(() -> {
// 运行线程
});
请注意,如果将匿名类转换为无状态 lambda,则 Java 运行时可以在后续调用期间重用相同的 lambda 对象。 另一方面,当使用匿名类时,每次都会创建单独的对象。 因此,在极少数情况下,应用快速修复可能会导致语义发生变化,例如,当匿名类实例用作 HashMap
键时。
Java 1.7 和更早版本的 JVM 不支持 lambda 语法。
使用 在接口未使用 @FunctionalInterface 注解时报告 选项忽略匿名类实现没有 @FunctionalInterface
注解的接口的情况。