多级IF声明

时间:2013-11-15 17:23:07

标签: groovy

我想创建一个多级IF语句。下面的陈述是如果它是“红旗”,否则执行else子句。我想要的是更多的IF语句。我怎么说IF“红旗”或IF“开”或IF“有效”或ELSE?这是一个GROOVY IF还是JAVA命令?

                        CellStyle statusStyle = wb.createCellStyle()
                        statusStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND)
                        if (it.MOPSTATUS.equals("Red Flagged")) {
                            statusStyle.setFillForegroundColor(new HSSFColor.RED().getIndex())
                        } else {
                            statusStyle.setFillForegroundColor(new HSSFColor.WHITE().getIndex())
                        }

2 个答案:

答案 0 :(得分:1)

如果您想根据值执行不同的操作,请执行以下操作

if (it.MOPSTATUS.equals("Red Flagged")) {
    statusStyle.setFillForegroundColor(new HSSFColor.RED().getIndex())
} else if (it.MOPSTATUS.equals("Open")) {
    // DO SOMETHING
} else if () {
    // DO SOMETHING ELSE
} else {
    statusStyle.setFillForegroundColor(new HSSFColor.WHITE().getIndex())
}

否则,这就足够了

if (it.MOPSTATUS.equals("Red Flagged")
        || it.MOPSTATUS.equals("Open")
        || it.MOPSTATUS.equals("Active"))
{
    statusStyle.setFillForegroundColor(new HSSFColor.RED().getIndex())
} else {
    statusStyle.setFillForegroundColor(new HSSFColor.WHITE().getIndex())
}

答案 1 :(得分:1)

与Java相同

if (it.MOPSTATUS.equals("Red Flagged") ||
    it.MOPSTATUS.equals("open") ) {
    statusStyle.setFillForegroundColor(new HSSFColor.RED().getIndex())
} else {
    statusStyle.setFillForegroundColor(new HSSFColor.WHITE().getIndex())
}

或者每种可能性的不同结果

if (it.MOPSTATUS.equals("Red Flagged") ) {
    // something
} else if ( it.MOPSTATUS.equals("open") ) {
    // something else
} else {
    statusStyle.setFillForegroundColor(new HSSFColor.WHITE().getIndex())
}