作者:木维韵_538 | 来源:互联网 | 2022-12-01 16:30
我已经阅读了很多关于代码重构和避免if else语句的主题.实际上,我有一个班级,我使用了很多if - else条件.
private static String getXSIType(String fieldType) {
if ("_freeFormText".equals(fieldType) || "_eMailAddress".equals(fieldType) || "_help".equals(fieldType)
|| "_hyperlink".equals(fieldType) || "_inlineText".equals(fieldType) || "_longText".equals(fieldType)
|| "_password".equals(fieldType) || "_phoneNumber".equals(fieldType) || "_richText".equals(fieldType)
|| "_textArea".equals(fieldType)) {
return "platformCore:StringCustomFieldRef";
} else if ("_integerNumber".equals(fieldType)) {
return "platformCore:LongCustomFieldRef";
} else if ("_multipleSelect".equals(fieldType)) {
return "platformCore:MultiSelectCustomFieldRef";
} else if ("_document".equals(fieldType) || "_listRecord".equals(fieldType) || "_image".equals(fieldType)) {
return "platformCore:SelectCustomFieldRef";
} else if ("_currency".equals(fieldType) || "_decimalNumber".equals(fieldType)
|| "_percent".equals(fieldType)) {
return "platformCore:DoubleCustomFieldRef";
} else if ("_checkBox".equals(fieldType)) {
return "platformCore:BooleanCustomFieldRef";
} else if ("_date".equals(fieldType) || "_datetime".equals(fieldType) || "_timeOfDay".equals(fieldType)) {
return "platformCore:DateCustomFieldRef";
}
return "platformCore:StringCustomFieldRef";
}
现在,我想使用别的东西,而不是那些其他条件,但我不知道是什么.
你能给我一个例子或一个好的教程页面吗?
谢谢
1> The KNVB..:
这是你需要的:
private static String getXSIType(String fieldType) {
String result=new String();
switch (fieldType)
{
case "_checkBox":
result="platformCore:BooleanCustomFieldRef";
break;
case "_integerNumber":
result="platformCore:LongCustomFieldRef";
break;
case "_multipleSelect":
result="platformCore:MultiSelectCustomFieldRef";
break;
case "_currency":
case "_decimalNumber":
case "_percent":
result="platformCore:DoubleCustomFieldRef";
break;
case "_document":
case "_listRecord":
case "_image":
result="platformCore:SelectCustomFieldRef";
break;
case "_date":
case "_datetime":
case "_timeOfDay":
result="platformCore:DateCustomFieldRef";
break;
case "_freeFormText":
case "_eMailAddress":
case "_help":
case "_hyperlink":
case "_inlineText":
case "_longText":
case "_password":
case "_phoneNumber":
case "_richText":
case "_textArea":
result="platformCore:StringCustomFieldRef";
break;
default:
result="platformCore:StringCustomFieldRef";
break;
}
return result;
}