具有非静态访问静态成员的Java 8类型推断

时间:2015-05-08 20:49:05

标签: java java-8 type-inference method-reference

请考虑以下代码:

class Test {

    void accept(Consumer<Integer> c) {}

    static void consumer(Integer i) {}

    void foo() {
        accept(this::consumer); // The method accept(Consumer<Integer>) in the type Test is not applicable for the arguments (this::consumer)
        accept(Test::consumer); // Valid
    }

}

前几天我偶然以非静态方式调用静态方法时遇到了这个问题。 我知道你不应该以非静态的方式调用静态方法,但我仍然想知道,为什么在这种情况下不能推断出类型呢?

0 个答案:

没有答案