为什么具有显式返回的空 lambda 和构造函数会导致编译器错误(Java Bug?
我有一个可重现的测试用例:
public class TestCase {
    private final java.util.function.Consumer<Object> emptyCallback = result -> {};
    public TestCase() {
        return;
    }
    public static void main(String... args) {
        new TestCase();
    }
}
使用Java 8,更新51(Oracle JDK)。这不能同时使用IntelliJ和javac进行编译。
智能英特尔输出:
Error(6, 7): java: variable result might not have been initialized
javac output:
TestCase.java:6: error: Variable result might not have been initialized
        return;
        ^
1 error
现在奇怪的是,删除或将修复错误。这是一个java错误,还是我在这里缺少一些语言设计?return;Consumer
编辑:这不是构造函数如何返回值的副本,这实际上是一个构造函数,不是关于构造函数的返回值,而是变量初始化。