如何将 Map<String,?> 类型的对象作为参数传递给函数

How to pass object of type Map<String,?> as argument to function

我有一个抽象基 class,它有以下私有变量

private Map<String, ?> options;

我希望所有其他 class 扩展我的基础 class 以实现以下方法

protected abstract void initOptions(Map<String,?> options)

我的问题是我无法选择除 Map 之外的任何其他类型来实现

@Override
protected void initOptions(Map options) throws InternalLoginException {
    ...
}

处理这种情况的正确方法是什么,我无法控制 options Map 的类型,但我想让 initOptions 方法的实现 class 知道Map是String类型,值可以是任意Object。

public abstract class BaseClass {

    abstract void methodToOverRide(Map<String, ?> parameter);


    static class SubClass extends BaseClass{

        @Override void methodToOverRide(Map<String, ?> parameter) {

            //do something?
        }
    }
}

您所拥有的应该如上所示工作。