问题描述
我想从 yaml 文件中加载包含基于抽象类的对象数组列表的对象。我收到此错误消息:
线程“LWJGL 应用程序”中的异常无法为 JavaBean=com.myyaml.test.ImplementationOfExampleClass@7a358cc1 创建 property=arrayListOfAbstractObjects
在“读者”中,第 1 行,第 1 列: dummyLong: 1 ^
java.lang.InstantiationException 在“读者”中,第 3 行,第 3 列: - dummyFloat:444 ^
YAML 文件
Text
Java 类:
dummyLong: 1
arrayListOfAbstractObjects:
- dummyFloat: 444
- dummyDouble: 123
public abstract class ExampleClass {
protected ArrayList<AbstractClass> arrayListOfAbstractObjects;
protected long dummyLong = 111;
public ExampleClass() {
}
public void setArrayListOfAbstractObjects(ArrayList<AbstractClass> arrayListOfAbstractObjects) {
this.arrayListOfAbstractObjects = arrayListOfAbstractObjects;
}
public void setDummyLong(long dummyLong) {
this.dummyLong = dummyLong;
}
}
public class ImplementationOfExampleClass extends ExampleClass {
public ImplementationOfExampleClass() {
}
}
public abstract class AbstractClass {
private int dummyInt = 22;
public AbstractClass() {
}
public void setDummyInt(int dummyInt) {
this.dummyInt = dummyInt;
}
}
public class FirstImplementationOfAbstractClass extends AbstractClass {
float dummyFloat = 111f;
public FirstImplementationOfAbstractClass() {
}
public void setDummyFloat(float dummyFloat) {
this.dummyFloat = dummyFloat;
}
}
我的猜测是 yaml 不知道要使用哪种抽象类实现。 FirstImplementationOfAbstractClass 或 SecondImplementationOfAbstractClass。是否可以使用此类类通过 yaml 加载对象?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)