今天写了个读取类的函数的签名的脚本,供学习之用,其实最主要是想看看Groovy都给类添加了些什么函数。
代码就二十多行,从中又可以体现出Groovy代码之精炼
PrintClass.groovy:
if (args) {
def className = args[0]
def theClass = Class.forName(className)
def theMetaClass = theClass.metaClass
def printClass = { property ->
println "The $property of $className:"
if (theClass.class.metaClass.hasProperty(theClass, property))
theClass."$property".each { println it }
else if (theMetaClass.metaClass.hasProperty(theMetaClass, property))
theMetaClass."$property".each { println it }
}
if (args.size() == 1)
args = ['methods', 'metaMethods', 'constructors']
else
args = args[1..-1]
args.eachWithIndex { arg, index ->
if (index > 0)
println()
printClass(arg)
}
} else {
println 'Print out the informations of the specified class.'
println 'Usage: PrintClass class-full-name [methods] [metaMethods] [constructors]'
}
用法:
PrintClass java.lang.Integer 或者 PrintClass java.lang.Integer metaMethods 等等
其实除了函数签名,还可以显示其他东西,譬如:PrintClass java.lang.Integer declaredFields(显示所有字段)
分享到:
相关推荐
Groovy 学习笔记 Groovy 学习笔记
Groovy
在学习任何东西之前,最重要的是培养兴趣,Groovy世界最耀眼的技术之一--Grails相信大家早已耳闻,我将通过Grails实战系列文章 向您展现Grails的迷人风采,使您感受到Grails的魅力,以至疯狂地爱上Grails,并坠入...
Java调用Groovy,实时动态加载数据库groovy脚本,java读取mongoDB的groovy脚本,加载实时运行,热部署
Groovy学习笔记,内容如下: 1.概念 2.基本语法 3.字符串 4.集合 5.类和闭包 6.控制语句 7.操作符重载 8.I/O操作 9.高级应用 10.正则表达式
对Groovy开发环境设置,基本语法做了简单明了的介绍
NULL 博文链接:https://rsljdkt.iteye.com/blog/859059
图文并茂,适合入门新手,涵盖了基本的语法讲解及一些DEMO测试,值得一看
groovy脚本实现对数据库的增删改查,groovy脚本不需要编译,十分实用
第1章 数字和字符串 第2章 List的简单介绍 第3章 String的特殊用法 第4章 闭包 第5章 集合+闭包 第6章 Map和Range 第7章 函数
Groovy_笔记
通过groovy自定义函数实现提取明细表字段至主表字段,同时根据表单上的字段进行计算,将计算结果在字段上显示;致远、groovy
Groovy语法&Gradle配置学习笔记
Android Studio中的Gradle开发脚本语言Groovy,Groovy入门,以及精通
java 动态脚本语言 精通 Groovy
NULL 博文链接:https://key232323.iteye.com/blog/1336400
项目从es2升级到es6,groovy脚本也要相应的转换为painless脚本,转换过程中遇到了很多坑,特此总结成文档,供大家一起交流学习。
IDEA连接数据库生成带注解的实体类方法与定制Groovy生成脚本适用于springboot jpa中IDEA连接数据库生成带注解的实体类方法与定制Groovy生成脚本适用于springboot jpa中
Grails Groovy 学习必备参考资料