首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象的二维数组YAML到Java

对象的二维数组YAML到Java
EN

Stack Overflow用户
提问于 2014-04-26 01:23:23
回答 1查看 1K关注 0票数 4

我正在尝试用Java反序列化我在YAML中组合在一起的2D数组。为此,我使用了Yamlbeans库。

这是我的YAML:

代码语言:javascript
复制
states:
 - 0:
  - name: SPAWNINGSTATE
    duration: 4

这是我的课程:

代码语言:javascript
复制
public class State {
    public String name;
    public long duration;

    public State(){}

    public State(String name, long duration){
        this.name = name;
        this.duration = duration;

    }
}

数组在另一个类中声明,只有一行:

代码语言:javascript
复制
public State[][] states;

下面是我得到的错误:

代码语言:javascript
复制
com.esotericsoftware.yamlbeans.YamlReader$YamlReaderException: Line 57, column 5: Error creating object.
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:266)
    at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:152)
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:335)
    at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:152)
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:295)
    at com.esotericsoftware.yamlbeans.YamlReader.readValue(YamlReader.java:152)
    at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:103)
    at com.esotericsoftware.yamlbeans.YamlReader.read(YamlReader.java:90)
    at com.sbg.wickedtemplate.layers.ForegroundLightning.<init>(ForegroundLightning.java:22)
    at com.sbg.wickedtemplate.World.<init>(World.java:25)
    at com.sbg.wickedtemplate.LWP_Engine.create(LWP_Engine.java:39)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
Caused by: java.lang.reflect.InvocationTargetException: Unable to find a no-arg constructor for class: [Lcom.sbg.wickedtemplate.State;
    at com.esotericsoftware.yamlbeans.Beans.createObject(Beans.java:111)
    at com.esotericsoftware.yamlbeans.YamlReader.createObject(YamlReader.java:363)
    at com.esotericsoftware.yamlbeans.YamlReader.readValueInternal(YamlReader.java:264)

我在制作常规数组时没有任何问题。为什么它告诉我它找不到一个无参数的构造函数,而它显然就在那里?我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2016-02-22 20:37:32

你能试着修复你的一个节点吗?

代码语言:javascript
复制
    states:
       0:
         name: SPAWNINGSTATE
         duration: 4

"-“使它成为一个数组,它可能会抛出它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23299444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档