public static String oraDecode(String keyword, String... kvs) {
int len = 0;
if (StringUtils.isBlank(keyword) || Objects.isNull(kvs) || (len = kvs.length) < 2)
// throw new IllegalArgumentException();
return null;
//动态参数为奇数个时,最后一个参数是默认值
String defaultVal = len % 2 == 0 ? null : kvs[len - 1];
String val = null;
for (int i = 0; i < (Objects.isNull(defaultVal) ? len : len - 1); i += 2) {
if (keyword.equals(kvs[i])) {
val = kvs[i + 1];
break;
} else {
continue;
}
}
if (StringUtils.isBlank(val) && StringUtils.isNotBlank(defaultVal)) val = defaultVal;
return val;
}
keyword:条件表达式
kvs:条件和对应值