我的应用程序中有一个取决于参数类型的逻辑,现在它的工作方式如下:
switch (parameter.getType()) {
case DOUBLE:
countOfParameters = parameter.getDoubleValueCount();
if (countOfParameters == 1) {
propertiesBuilder.addProperty(parameter.getName(), parameter.getDoubleValue(0));
} else if (countOfParameters > 1) {
Double[] doubleValues = new Double[countOfParameters];
for (int kj = 0; kj < countOfParameters; kj++) {
doubleValues[kj] = parameter.getDoubleValue(kj);
}
propertiesBuilder.addProperty(parameter.getName(), doubleValues);
}
break;
case BOOLEAN:
countOfParameters = parameter.getBoolValueCount();
if (countOfParameters == 1) {
propertiesBuilder.addProperty(parameter.getName(), parameter.getBoolValue(0));
} else if (countOfParameters > 1) {
Boolean[] booleanValues = new Boolean[countOfParameters];
for (int kj = 0; kj < countOfParameters; kj++) {
booleanValues[kj] = parameter.getBoolValue(kj);
}
propertiesBuilder.addProperty(parameter.getName(), booleanValues);
}
正如你所看到的,我有相同的逻辑,唯一改变的是一种解析值的方法。是否有可能摆脱重复的代码?我想可以制作一些函数式接口函数的映射,但不确定应该如何完成。有什么建议么?
慕尼黑5688855
万千封印
猛跑小猪
相关分类