如何避免很多if else条件

Amr*_*mar 4 java xml if-statement netsuite conditional-statements

我已经阅读了很多关于代码重构和避免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";
}
Run Code Online (Sandbox Code Playgroud)

现在,我想使用别的东西,而不是那些其他条件,但我不知道是什么.

你能给我一个例子或一个好的教程页面吗?

谢谢

The*_*NVB 7

这是你需要的:

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;
}
Run Code Online (Sandbox Code Playgroud)