safenavigationtest.groovy

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

GROOVY
51
字号
class SafeNavigationTest extends GroovyTestCase {

    void testNullNavigation() {
        def x = null
        def y = x?.bar

        assert y == null
    }

    void testNormalPropertyNavigation() {
        def x = ['a':456, 'foo':['bar':123, 'x':456], 'z':99]
        
        def y = x?.foo?.bar
        
        println("found y ${x?.foo?.bar}")
        
        assert y == 123
    }

    void testNullPropertyNavigation() {
        def x = null
        
        def y = x?.foo?.bar
        
        assert y == null


        def java.awt.Color color = null
        def a = color?.alpha
        assert a == null

    }
    
    void testNormalMethodCall() {
        def x = 1234
        
        def y = x?.toString()
        
        assert y == "1234"
    }

    void testNullMethodCall() {
        def x = null
        
        def y = x?.toString()
        
        assert y == null
    }

}

⌨️ 快捷键说明

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