methodclosuretest.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 37 行
GROOVY
37 行
package groovy.bugs
import org.codehaus.groovy.runtime.MethodClosure
class MethodClosureTest extends GroovyTestCase {
def aa(x) {
x
}
static bb(it) { it}
void testMetodClosure() {
Class[] c1 = [ Exception.class, Throwable.class ]
Class[] c2 = [ IllegalStateException.class ]
def cl = this.&aa
assert cl instanceof Closure
assert cl instanceof MethodClosure
assert [c1, c2].collect(cl) == [c1,c2]
}
void testStaticMethodAccess() {
def list = [1].collect (this.&bb)
assert list == [1]
list = [1].collect (MethodClosureTest.&bb)
assert list == [1]
def mct = new MethodClosureTest()
list = [1].collect (mct.&bb)
assert list == [1]
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?