interfaceconversiontest.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 26 行

GROOVY
26
字号
class InterfaceConversionTest extends GroovyTestCase {
 
  void testClosureConversion(){
	def c1 = {Object[] args -> args?.length}
	def c2 = c1 as InterfaceConversionTestFoo
	assert !(c1 instanceof InterfaceConversionTestFoo)
	assert c2 instanceof InterfaceConversionTestFoo
	assert c2.a() == null
	assert c2.b(null) == 1
  }
  
  void testMapConversion() {  
	def m1 = [a:{1}, b:{2}]
	def m2 = m1 as InterfaceConversionTestFoo
	
	assert !(m1 instanceof InterfaceConversionTestFoo)
	assert m2 instanceof InterfaceConversionTestFoo
	assert m2.a() == 1
	assert m2.b(null) == 2
  }
}
 
interface InterfaceConversionTestFoo {
    def a();
    def b(Integer i);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?