尝试将Object强制转换为MapEntry时发生ClassCastException

雅科

我正在尝试从JSONObject中获取一些值到HashMap中,但是在我的for循环的最后一行中,我一直在获取ClassCastException。

Exception in thread "main" java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.Integer

我试图将mapEntry.getValue()显式转换为整数,但是我一直收到相同的错误。如果我在没有最后一行的情况下运行代码,则会得到以下输出:

key: peter value: 33
key: somekey value: 11
key: steve value: 38
key: guy value: 22
key: name value: 54

因此,我可以看到mapEntry.getValue()似乎可以打印整数,或者至少可以打印为整数。

JSONObject json = getJsonFromFile(filePath);
HashMap<String, Integer> entries = new HashMap<>();

for (Object obj : json.entrySet()) {
            Entry<String, Integer> mapEntry = (Entry<String, Integer>) obj;
            System.out.println("key: " + mapEntry.getKey() + " value: " + mapEntry.getValue());
            entries.put(mapEntry.getKey(), mapEntry.getValue());
        }
left

如果您尝试这样做:

JSONObject json = getJsonFromFile(filePath);
HashMap<String, Number> entries = new HashMap<>();

for (Object obj : json.entrySet()) {
    Entry<String, Number> mapEntry = (Entry<String, Number>) obj;
    System.out.println("key: " + mapEntry.getKey() + " value: " + mapEntry.getValue());
    entries.put(mapEntry.getKey(), mapEntry.getValue());
}

Number既是超IntegerLong,它应该编译罚款。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将活动强制转换为Interface(ClassCastException)

当我尝试将object []转换为Student []时,为什么会有ClassCastException?

尝试解组xml时发生类强制转换异常?

ClassCastException:无法将java.lang.Object强制转换为java.lang.Integer

ClassCastException:无法将java.lang.Object []强制转换为java.lang.String [] android

ClassCastException:无法将DispatcherServlet强制转换为Servlet

将对象数组转换为长数组时发生ClassCastException

java.lang.ClassCastException:[无法将B强制转换为[Ljava.lang.Object; 在使用JPA 2.2 query.getResultStream()。findFirst()时

尝试将远程映像转换为base64数据时发生CORS错误

将NSNumber强制转换为Float时发生意外行为

java.lang.ClassCastException:无法将java.lang.Object []强制转换为

为什么会收到“ InvalidCastException:指定的强制转换无效”。尝试将Type转换为接口时

当条目较少时将json转换为“ scala.collection.immutable.HashMap”时发生ClassCastException

尝试将Dictionary转换为DataFrame Pandas时发生ValueError

强制转换为OrganizationServiceContext时发生InvalidCastException

引发ClassCastException:无法将ViewComponentManager $ FragmentContextWrapper强制转换为AppCompatActivity

ClassCastException:无法将MediaMetadataRetriever强制转换为AutoCloseable

将数组强制转换为字符串枚举器时发生运行时错误

ClassCastException:无法将片段强制转换为ListFragment

当我尝试将对象强制转换为List <Object>时发出警告

尝试通过循环从Map提取值时,“无法将HashMap $ Entry强制转换为X”

无法将数组转换为Control []。尝试构建仪表板时发生错误

尝试锁定到导航视图控制器时发生错误,无法强制将“ UIViewController”类型的值转换为“ UINavigationController”类型

ClassCastException:尝试迭代实体ID时,无法将Integer强制转换为Long

将Object []强制转换为ContentValues []时出错

将通用T强制转换为Object []

尝试将html字符串转换为JSONObject时发生JSONException

java.lang.ClassCastException: java.lang.String 不能转换为 [Ljava.lang.Object; 尝试通过 Hibernate 将列值获取到列表时

尝试将 nvarchar 转换为日期 mssql 节点 js 时发生错误