gpt4 book ai didi

java - Groovy Expando 可序列化

转载 作者:行者123 更新时间:2023-11-30 11:54:04 24 4
gpt4 key购买 nike

有什么方法可以序列化可以使用动态添加的属性检索的 expando 子类。举例说明;

class Sexpando extends Expando implements Serializable{
//String testProp
static final long serialVersionUID = -2056428816613381087L
String toString() {
"an object of Sexpando - $serialVersionUID"
}
}

class SexpandoTest {

static main(args) {

def s = new Sexpando()
s.testProp = "small test string"
println s.properties
def file = new File('objects.dta')
def out = file.newOutputStream()
def oos = new ObjectOutputStream(out)
oos.writeObject(s)

oos.close()
def retrieved = []

file.eachObject { retrieved << it }

retrieved.each { println it.properties }
}}

我得到输出:

[testProp:small test string]
[:]

我还用 Sexpando 对象的原始 testProp 字段尝试了相同的示例(上面已注释掉)

Groovy 的原始 Expando.java 可以从 HERE 查看

感谢您的任何建议!

最佳答案

我不认为这是可能的,这是一个 long standing feature request ,但正如 Jochen 所说,应该将闭包序列化为...

关于java - Groovy Expando 可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5908393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com