実現したいこと
前提
Spigotを使ってMinecraftのプラグインを作っています
発生している問題
YAMLファイルを「Map<String,TestClass>」として読み込み
その読み込んだ内容を使用しようとすると
「java.lang.ClassCastException」
java.util.LinkedHashMapはTestClassにキャストできません。
というような内容が出てきます
該当のソースコード
Java
1Map<String, TestClass> testData;2 3Yaml yaml = new Yaml(new Constructor(TestClass.class));4 5testData = (Map<String, TestClass>) yaml.loadAs(file, Map.class);6 7for(String key : testData.keySet()){8 //Message.infoLogは内容を表示させるものです9 Message.infoLog(testData.get(key).getName());10}
Java
1public class TestClass {2 private String Name,comment;3 private int num;4 5 setterとgetterは省略してます 6}
YAML
1key1:2 Name: テスト 3 comment: コメント 4 num : 15 6key2:7 Name: テスト2 8 comment: コメント2 9 num : 2
試したこと
YAMLファイルの書き方を変えたりクラスの書き方を変えたり同じような状態のサイトを見つけて試してみましたが変わらなかったため質問させていただきました
補足情報(FW/ツールのバージョンなど)
使用エディタ:IntelliJ IDEA
SnakeYAML:1.30
spigot-api:1.18.1-R0.1-SNAPSHOT
Javaバージョン:17
0 コメント