包含多态方法引用的数据结构

Data Structures Containing Polymorphic Method References

associations.put("test1",B::setBeta);

以下不编译。我不清楚为什么它不能工作,因为 B 扩展了 A。有没有办法让它工作?我正在尝试构建继承家族的方法引用映射。

import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;

public enum Test {
    ENUM0() {
        @Override
        public void init() {
            associations.put("test0",A::setAlpha);
        }
    },
    ENUM1() {
        @Override
        public void init() {
            associations.put("test1",B::setBeta);
        }
    };
    public abstract void init();

    Map<String, BiConsumer<? extends A, String>> associations = new HashMap<>();
}

class A {
    public String getAlpha() {
        return alpha;
    }
    public void setAlpha(String alpha) {
        this.alpha = alpha;
    }

    String alpha;
}

class B extends A {
    public String getBeta() {
        return beta;
    }
    public void setBeta(String beta) {
        this.beta = beta;
    }

    String beta;
}

这似乎是一个奇怪的类型推断案例,显式标记表达式可以解决编译错误:

associations.put("test1", (BiConsumer<B, String>) B::setBeta);