createBuilderFactory
中的方法javax.json
需要Map<String, ?>
一般来说,我们的地图上有Map<String, String>
(其他一些数据类型代替String
)
但我不明白?
代表什么。并且为了传递类型Map<String, ?>
的参数,我应该如何定义地图。
有人可以帮助我更好地理解这一点吗?
答案 0 :(得分:3)
在Java泛型中,?
代表通配符,代表任何对象。
如果您创建的方法需要Map<String, ?>
,则表示您希望Map
从String
键映射到任何可能的对象值:
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) {}
答案 1 :(得分:0)
当我需要将Map<String, ?>
传递给我接受Map<String, Object>
的函数时,我遇到了困难。这削减了它:
Map<String, ?> mapQuestion = ...
mapObject = (Map<String, Object>)mapQuestion;