gpt4 book ai didi

java - 转换 HashMap

转载 作者:行者123 更新时间:2023-12-01 10:15:20 26 4
gpt4 key购买 nike

我正在尝试对 Hasmap 进行类型转换

我有这个hasmap:

 Map<String, Object> requestargs = new  Map<String, Object>();

另一边我有一个方法可以给我带来一个 HashMap :Map<String, Document>

MultipartForm form = MgnlContext.getWebContext().getPostedForm();

方法是getDocuments();

我需要将此方法的返回值放入我的 HashMap 中,如下所示:

requestargs = form.getDocuments();

但我不知道如何将此 Hasmap og (String,Document) 转换为 (String,Object)

谢谢

最佳答案

除非您可以使用通配符

Map<String, ? extends Object> requestargs

您需要将 map 复制到新 map 中:

requestargs = new HashMap<String, Object>(form.getDocuments());

这两种类型没有直接关系。如果您能够直接(或通过转换)进行分配,则可以将非 Document 类型的值插入到映射中,这将是类型不安全的:

Map<String, Document> docs = form.getDocuments();
Map<String, Object> requestargs = docs; // not actually allowed
requestargs.put("Foo", new Object());
for (Document doc : docs.values()) {
// doc isn't necessarily a Document! ClassCastExceptions abound.
}

为了防止此问题发生,类型系统禁止此类分配。

通配符之所以有效,是因为它使得无法在 map 上调用 put,因为无法知道哪些类型可以安全地放入 map 中。

关于java - 转换 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35934598/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com