gpt4 book ai didi

groovy - 如何检查Groovy类是否具有静态属性?

转载 作者:行者123 更新时间:2023-12-04 14:04:39 30 4
gpt4 key购买 nike

给定以下常规类:

​class A {
static x = { }
}

如何检查A类是否定义了名为“x”的静态属性?
以下两个选项似乎都不起作用:
A.hasProperty('x')
A.metaClass.hasProperty('x')

最佳答案

除了使用Java的反射API之外,我看不到任何更时髦的方法:

import static java.lang.reflect.Modifier.isStatic

class A {
static x = 1
}

def result = A.class.declaredFields.find {
it.name == 'x' && isStatic(it.modifiers)
}

println result == null ? 'class does not contain static X' :
'class contains static X'

关于groovy - 如何检查Groovy类是否具有静态属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8725033/

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