**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。
两天前关门了。
改进这个问题
所以我遇到了一个非常奇怪的问题,我真的无法理解。
[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?
我一直在努力寻找有类似问题的人,但我似乎找不到有这个具体问题的人,也找不到任何可能的解决办法。
暂无答案!
目前还没有任何答案,快来回答吧!