Java,Java.util.HashMap不能强制转换为org.bson.BSONObject

Java,Java.util.HashMap不能强制转换为org.bson.BSONObject,java,mongodb,Java,Mongodb,我一直在编写一个MapReduce程序,用MongoDB中的数据存储实现单词计数。我想在Java中将BSONObject强制转换为HashMap,但它返回错误 java.lang.Exception: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.bson.BSONObject 还有我的密码 BasicBSONObject result = new BasicBSONObject(); HashMap

我一直在编写一个MapReduce程序,用MongoDB中的数据存储实现单词计数。我想在Java中将BSONObject强制转换为HashMap,但它返回错误

java.lang.Exception: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.bson.BSONObject
还有我的密码

BasicBSONObject result = new BasicBSONObject();
HashMap<String, Integer> mymap = new HashMap<String, Integer>();
[snippt]
for (BSONWritable val : values) {
{
    HashMap<String, Integer> temp = (HashMap<String, Integer>) val.getDoc().toMap();
    for (Map.Entry<String, Integer> entry :  temp.entrySet()) {
        if (mymap.containsKey(entry.getKey())) {
            mymap.put(entry.getKey(), entry.getValue()+1);
        }
        else {
            mymap.put(entry.getKey(), 1);
        }
    }

}
result.putAll((BSONObject)mymap);
basicbonobject结果=新建basicbonobject();
HashMap mymap=新HashMap();
[嗤之以鼻]
for(BSONWritable val:值){
{
HashMap temp=(HashMap)val.getDoc().toMap();
对于(Map.Entry:temp.entrySet()){
if(mymap.containsKey(entry.getKey())){
mymap.put(entry.getKey(),entry.getValue()+1);
}
否则{
put(entry.getKey(),1);
}
}
}
结果:putAll((b对象)mymap);
我想要我的
mymap
转换为
结果
。由于
mymap
是一个
HashMap
实例,我认为
putAll
方法是一种选择


我如何修复它?谢谢!

它不需要强制转换


请参见

toMap
返回一个
Map
而不是
HashMap
。您可以查看您链接的此api页面吗?现在需要验证:)