Groovy学习笔记——读取类的函数签名的脚本

本文介绍了一个简单的Groovy脚本,用于读取指定类的方法、元方法和构造器等信息。通过该脚本,可以方便地查看Groovy为类添加的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天写了个读取类的函数的签名的脚本,供学习之用,其实最主要是想看看Groovy都给类添加了些什么函数。

代码就二十多行,从中又可以体现出Groovy代码之精炼smile

 

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(显示所有字段)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值