的意思 ?在 Map<String, ?>

TDH*_*DHM 4 java generics collections

createBuilderFactoryjavax.json类型的需求论证Map<String, ?>

通常,我们有类似的映射Map<String, String>(一些其他数据类型代替String

但我不明白什么?代表什么。为了传递 type 的参数Map<String, ?>,我应该如何定义地图。

有人可以帮助我更好地理解这一点吗?

Cra*_*ing 7

在 Java 泛型中?,通配符代表任何对象。

如果你创建了一个方法,Map<String, ?>你就是说你希望 aMapString键映射到任何可能的对象值:

public static void main(String[] args) {
    Map<String, Object> map1 = null;
    Map<String, String> map2 = null;

    test(map1);
    test(map2);
}

private static void test(Map<String, ?> settings) {}
Run Code Online (Sandbox Code Playgroud)