Java YAML配置到自定义hashmap

Java YAML配置到自定义hashmap,java,hashmap,yaml,snakeyaml,Java,Hashmap,Yaml,Snakeyaml,我目前正在编写一个bukkit插件,该插件在YAML配置文件中存储有关播放器的一系列信息。现在我希望插件在服务器启动时读取YAML文件,然后添加该信息。我有我的加载器,但我不能使用它,因为我的插件使用自定义地图。以下是地图的代码: Map<Integer, Map<String, Object>> 完整代码发布在此处:解决方案不是使用自定义地图。您已经从配置中获得了一个MemorySection 用这个。您应该使用以下方法,而不是强制转换:该方法返回一个包含所有相关信息

我目前正在编写一个bukkit插件,该插件在YAML配置文件中存储有关播放器的一系列信息。现在我希望插件在服务器启动时读取YAML文件,然后添加该信息。我有我的加载器,但我不能使用它,因为我的插件使用自定义地图。以下是地图的代码:

Map<Integer, Map<String, Object>>

完整代码发布在此处:

解决方案不是使用自定义地图。您已经从配置中获得了一个
MemorySection

用这个。您应该使用以下方法,而不是强制转换:该方法返回一个包含所有相关信息的
Map
,并由接口
ConfigurationSection
指定

ticket.getConfigurationSection("tickets").getValues();
另见以下相关摘录:

getValues方法将返回 ConfigurationSection作为一个映射,它采用一个布尔值来控制 嵌套映射将在映射中返回


是的,我解决了这个问题。我曾经使用
地图
但是它起作用了,因为我使用它的方式(
地图
)是第二部分

@Volgel612如果我使用getValues()它返回
Map
,而不是
Map
,我强烈怀疑你试图错误地解决问题。你介意添加一个相关配置文件的摘录吗?也许我可以给你一个更好的建议。我不太明白你的意思。你能为它做一个垃圾桶吗?
Caused by: java.lang.ClassCastException: org.bukkit.configuration.MemorySection cannot be cast to java.util.Map
ticket.getConfigurationSection("tickets").getValues();