我希望主题清晰,欢迎提出建议。
我有一个hhm=new HashMap<String,HashMap<String,Test>>()
.
我有一个function(HashMap<String,Test>... array)
.
我需要调用function(hhm.values().toArray(new HashMap<String,Test>[0]))
但我找不到办法做到这一点,这段代码无法编译。
转换会导致运行时异常:function((HashMap<String,Test>[])hhm.values().toArray())
现在怎么办?
最佳答案
黑客解决方案,以防您无法更改 function
,不另外推荐:
function(hhm.values().toArray((HashMap<String,Test>[]) new HashMap<?,?>[0]))
因为创建 HashMap<?,?>[]
是合法的。 ,然后您可以转换它,因为 HashMap<Whatever, Whatever>[]
真的只是HashMap[]
在运行时(如果不是,那么 new HashMap<String,Test>[0]
首先就不会有问题)。
关于java - 如何转换 hashmap.values().toArray() ,其中这些 value() 也是 HashMap ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44320292/