3
Java에서 2D 배열을 YAML로 함께 deserialize하려고합니다. 저는 이것을 위해 Yamlbeans 라이브러리를 사용하고 있습니다. 여기 2D 배열 오브젝트 YAML에서 Java
public State[][] states;
가 난 오류입니다 : 하나 개의 라인
public class State {
public String name;
public long duration;
public State(){}
public State(String name, long duration){
this.name = name;
this.duration = duration;
}
}
배열이 다른 클래스에 선언 : 여기
states:
- 0:
- name: SPAWNINGSTATE
duration: 4
내 클래스의 : 여기
내 YAML의 점점 :
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)
정규 배열을 만드는 데 문제가 없었습니다. 분명히 거기에있을 때 아무 인자도없는 생성자를 찾을 수 없다는 것을 왜 말하는 것일까 요? 내가 도대체 뭘 잘못하고있는 겁니까?