Groovy用户指南(7)

类别:Java 点击:0 评论:0 推荐:

7、逻辑分支

1if-else语句

l         Groovy提供Java相同的if-else语句

x = false

y = false

if ( !x ) {

    x = true

}

assert x == true

if ( x ) {

    x = false

} else {

    y = true

}

assert x == y

l         Groovy也支持三元操作符

y = 5

x = (y > 1) ? "worked" : "failed"

assert x == "worked"

2switch语句

l         Groovy的switch语句兼容Java代码,不同之处在于Groovy的switch语句能够处理各种类型的switch值,可以做各种类型的匹配

Ø         case值为类名匹配switch值为类实例

Ø         case值为正则表达式匹配switch值的字符串匹配该正则表达式

Ø         case值为集合匹配switch值包含在集合中,这包括ranges

Ø         除了上面的,case值与switch值相等才匹配

x = 1.23

result = ""

switch ( x ) {

    case "foo":

        result = "found foo"

        // lets fall through

    case "bar":

        result += "bar"

    case [4, 5, 6, 'inList']:

        result = "list"

        break

    case 12..30:

        result = "range"

        break

    case Integer:

        result = "integer"

        break

    case Number:

        result = "number"

        break

    default:

        result = "default"

}

assert result == "number"

l         switch语句的工作原理:switch语句在做匹配case值时调用isCase(switchValue)方法,缺省调用equals(switchValue),但是已经被重载成各种类型,如类,正则表达式、集合等等

l         可以创建自定义的匹配类,增加isCase(switchValue)方法来提供自定义的匹配类型

本文地址:http://com.8s8s.com/it/it15131.htm