在 Python 中,我可以看到对象具有哪些方法和字段:
print dir(my_object)
Groovy 中的等价物是什么(假设它有一个)?
在 Groovy 中看起来特别好(未经测试,取自此链接,因此代码信用应该去那里):
// Introspection, know all the details about classes :
// List all constructors of a class
String.constructors.each{println it}
// List all interfaces implemented by a class
String.interfaces.each{println it}
// List all methods offered by a class
String.methods.each{println it}
// Just list the methods names
String.methods.name
// Get the fields of an object (with their values)
d = new Date()
d.properties.each{println it}
您正在寻找的通用术语是introspection。
如此处所述,要查找为 String 对象定义的所有方法:
"foo".metaClass.methods*.name.sort().unique()
它不像Python版本那么简单,也许其他人可以提供更好的方法。