如何将 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?
}
}
}
您所拥有的应该如上所示工作。
我有一个抽象基 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?
}
}
}
您所拥有的应该如上所示工作。