我正在尝试将 ENUM 单例实例(如 Joshua Bloch 在他的《Effective Java》一书中所述)序列化到文件中。ENUM 实例是一个简单的 JavaBean,如下所示:
public enum ElvisFan implements Serializable{
INSTANCE;
private int totalSongsListened;
private ElvisFan(){
totalSongsListened=0;
}
public void set(int v){
totalSongsListened=v;
}
public int get(){
return totalSongsListened;
}
}
}
我在整个程序中都成功地使用了这个枚举,但是当我使用snakeyaml 将此枚举写入文件时,我的文件中只有!!com.chown.ElvisFan 'INSTANCE'
一个test.yaml
。这就是我正在做的事情:
Yaml yaml = new Yaml();
yaml.dump(ElvisFan.INSTANCE, new FileWriter("test.yml");
我也试过这个没有任何运气:
JavaBeanDumper dumper = new JavaBeanDumper();
dumper.dump(ElvisFan.INSTANCE, new FileWriter("test.yml");
有人可以指导我吗?谢谢!
[已编辑]
代码更正。