当我像这样使用lambda表达式时总是这样:.map(obj->foo.makeSomething(obj))IntelliJ建议:“可以用方法引用替换...”。当我尝试时:.map(Foo::makeSomething)我得到以下语句:“不能从静态上下文引用非静态方法”。为什么Idea建议我使用不正确的方法引用? 最佳答案 如你所愿:map(Foo::makeSomething)编译器期望这两种可能性之一:在必须定义为Foo的lambda的第一个参数上调用Foo.makeSomething()实例方法。调用Foo.makeSome