代码如下:
private static void test(String a, String b, String c, String d) {
if (StringUtils.isNotEmpty(a) && StringUtils.isNotEmpty(b) && StringUtils.isNotEmpty(c) && StringUtils.isNotEmpty(d)) {
//都不为空 do something
} else if (StringUtils.isNotEmpty(a) && StringUtils.isNotEmpty(b) && StringUtils.isNotEmpty(c) && StringUtils.isEmpty(d)) {
//abc不为空且d为空 do something
} else if (StringUtils.isNotEmpty(a) && StringUtils.isNotEmpty(b) && StringUtils.isEmpty(c) && StringUtils.isEmpty(d)) {
//ab不为空且cd为空 do something
} else if (StringUtils.isNotEmpty(a) && StringUtils.isEmpty(b) && StringUtils.isEmpty(c) && StringUtils.isEmpty(d)) {
//a不为空且bcd为空 do something
} else if (StringUtils.isEmpty(a) && StringUtils.isEmpty(b) && StringUtils.isEmpty(c) && StringUtils.isEmpty(d)) {
//都为空 do something
}
}
使用套娃模式, 更清晰一些 每一个判断条件 只写一次
private static void test(String a, String b, String c, String d) {
if (StringUtils.isNotEmpty(a)) {
if (StringUtils.isNotEmpty(b)) {
if (StringUtils.isNotEmpty(c)) {
if (StringUtils.isNotEmpty(d)) {
//都不为空 do something
} else {
//abc不为空且d为空 do something
}
} else if (StringUtils.isEmpty(d)) {
//ab不为空且cd为空 do something
}
} else if (StringUtils.isEmpty(c) && StringUtils.isEmpty(d)) {
//a不为空且bcd为空 do something
}
} else if (StringUtils.isEmpty(b) && StringUtils.isEmpty(c) && StringUtils.isEmpty(d)) {
//都为空 do something
}
}
你可以考虑使用列表作为参数 来循环判断 前几个值都有值的话,执行什么方法