java似乎无缘无故地试图从double转换

c2e8gylq  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(233)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

两天前关门了。
改进这个问题
所以我遇到了一个非常奇怪的问题,我真的无法理解。

[11:51:00 WARN]: Caused by: java.lang.ClassCastException: class java.lang.Double cannot be cast to class java.lang.Integer (java.lang.Double and java.lang.Integer are in module java.base of loader 'bootstrap')

我得到了这个堆栈跟踪,它看起来像一个通用的classcastexception;但是,如果你看看我的代码:

@Getter @Setter 
private HashMap<String, Integer> permissionMap = new HashMap<>();
public int getPermissionWeight(IslandPermission perm){
    System.out.println(permissionMap.getOrDefault(perm.getName(), perm.getDefaultWeight()));
    //more stuff here
}

如果islandpermission#getdefaultweight()返回一个int,那么就没有意义了。我不明白的是为什么它要从一开始就用替身投出?在我的代码中,没有任何地方被重复提及,甚至没有被导入。
在前言中,这个类是使用fst序列化库反序列化的,但是我仍然看不出为什么编译器认为这个代码的任何部分都使用了double?
我一直在努力寻找有类似问题的人,但我似乎找不到有这个具体问题的人,也找不到任何可能的解决办法。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题