空对象的实例方法引用

bjm*_*jmi 5 java nullpointerexception java-8 method-reference ecj

根据JLS methodReferenceOfNullObject()调用时正确的行为是什么?

  • 抛出一个NullPointerException(Oracle Java Compiler)或
  • 指定供应商,result虽然onull(Eclipse的Java编译器)

    public void methodReferenceOfNullObject() {
        Object o = nullReference();
    
        Supplier<String> result = o::toString; // <-- point of interest
    
        ...
    }
    
    private Object nullReference() {
        return null;
    }
    
    Run Code Online (Sandbox Code Playgroud)