Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement Groovy/Java:优化/重构If语句_If Statement_Groovy_Refactoring - Fatal编程技术网

If statement Groovy/Java:优化/重构If语句

If statement Groovy/Java:优化/重构If语句,if-statement,groovy,refactoring,If Statement,Groovy,Refactoring,如何重构下面的if语句来检查值是否存在并将其分配给新对象 Domain myMethod(DomainOld param) { Domain domain = new Domain() if (param.id) { domain.id = param.id } if (param.name) { domain.name = param.name } if (param.status) { d

如何重构下面的if语句来检查值是否存在并将其分配给新对象

Domain myMethod(DomainOld param) {

    Domain domain = new Domain()

    if (param.id) {
        domain.id = param.id
    }

    if (param.name) {
        domain.name = param.name
    }

    if (param.status) {
        domain.status = param.status
    }

    if (param.value) {
        domain.value = param.value
    }

    domain.save()

    return domain
}

您可以像这样迭代对象的属性:

Domain myMethod(DomainOld param) {

    Domain domain = new Domain()

    param.properties.each { property, value ->
        if (value) {
            domain[property] = value
        }
    }

    domain.save()

    return domain
}

您可以直接将值设置为domain,例如
param.id
是布尔值,其默认值将为false,因此将false设置为
domain.id
的默认值是相同的