有什么方法可以在Groovy中为核心类重新定义asBoolean?我试过了
Number.metaClass.asBoolean = {false}
虽然它适用于非Groovy类,但我找不到如何为Number或任何其他预定义类创建相同的技巧。
答案 0 :(得分:1)
我认为你错过了->
。这对我有用
Number.metaClass.asBoolean = {-> false}
assert !2.asBoolean() // Normally 2 evaluates to true
答案 1 :(得分:1)
我可以在GroovyConsole中执行脚本时重现您的问题。但是,当在命令行上作为.groovy
文件执行时,metaClass更改将按预期工作。