假设我有一个不确定类型的对象 someObj
,我想做类似的事情:
def value = someObj.someMethod()
无法保证 'someObj' 实现 someMethod()
方法,如果没有,则返回 null
。
Groovy 中是否有类似的内容,或者我是否需要将其包装在带有 instanceof
检查的 if 语句中?
最佳答案
使用respondsTo
class Foo {
String prop
def bar() { "bar" }
def bar(String name) { "bar $name" }
}
def f = new Foo()
// Does f have a no-arg bar method
if (f.metaClass.respondsTo(f, "bar")) {
// do stuff
}
// Does f have a bar method that takes a String param
if (f.metaClass.respondsTo(f, "bar", String)) {
// do stuff
}
关于groovy - 在groovy中,有没有办法检查对象是否具有给定的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1534167/