微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 SnakeYML 时,无法将 java.util.LinkedHashSet 转换为类 java.util.ArrayList

如何解决使用 SnakeYML 时,无法将 java.util.LinkedHashSet 转换为类 java.util.ArrayList

我有一个看起来像这样的 yml 文件

name: Person Name
average: 100
gender: Male
age: 17
notes: Computer Science
grades: # Matrix with Arrays
  - dailygrade: # Array 1
    - 100
    - 100
  - majorgrade: # Array 2
    - 100

我有一个包含这些变量的 java 学生类文件

    public String name;
    public double average;
    public String gender;
    public int age;
    public String notes;
    public ArrayList<ArrayList<Double>> grades;

在另一个文件中,我正在使用 SnakeYML 读取我的 yml 文件并用它创建一个学生对象。

        InputStream inputStream = new FileInputStream(new File(pathways));
        Yaml yaml = new Yaml(new Constructor(Student.class));
        Student data = yaml.load(inputStream);
        System.out.println(data.getGrades().get(0).toString());

正如你所看到的,我正在阅读它并映射它并获取矩阵等级并在其中打印第一个 ArrayList。但是当我尝试打印它时,我收到此错误

Exception in thread "main" java.lang.classCastException: class java.util.LinkedHashSet cannot be cast to class java.util.ArrayList (java.util.LinkedHashSet and java.util.ArrayList are in module java.base of loader 'bootstrap')

我将如何修复它以便正确制作我的成绩变量,以便我可以轻松地操作它,这基本上解决了这个错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。