gpt4 book ai didi

groovy:有字段名,需要设置值,不想用switch

转载 作者:行者123 更新时间:2023-12-03 21:18:18 26 4
gpt4 key购买 nike

我有一个包含多个字段的对象,

class TestObj { 
def field1
def field2
}

我有一对值 v1="field1"和 v2="value2"我想根据 v1 的名称将 v2 设置为适当的字段,但我不想用开关或如果陈述,我一直在想,除了做这样的事情之外,必须有一种更“时髦”的方式来实现结果:
setValues(def fieldName, def fieldVal) {
if (fieldName.equals("field1")) {
field1 = fieldVal
}
if (fieldName.equals("field2")) {
field2 = fieldVal
}
}

我试过这样做:
setValues(def fieldName, def fieldVal) {
this['${fieldName}'] = fieldVal
}

但是失败了,说没有属性(property) ${fieldName}

谢谢。

最佳答案

获取字段时可以使用 GStrings,如下所示:

def obj = new TestObj()
def fieldToUpdate = 'field1'
obj."$fieldToUpdate" = 3

关于groovy:有字段名,需要设置值,不想用switch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7297696/

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