如何将下面的java查询放在切换的情况下?

问题描述 投票:0回答:1

//如何将下面的java查询放在切换的情况下?我正在与spring-mobile项目一起工作,需要将以下代码放在switch帮助中。

try {
    if (device.isMobile()) {
        redirectUri = cfg.getEmail().getVerification().getMobile_success_redirect_url();
    }
} catch (Exception ex) {
    redirectUri = cfg.getEmail().getVerification().getMobile_failure_redirect_url();
    logger.error("Failed to verify email. Cause: {}", ex);
}
try {
    if (device.isTablet()) {
        redirectUri = cfg.getEmail().getVerification().getTablet_success_redirect_url();
    }
} catch (Exception ex) {
    redirectUri = cfg.getEmail().getVerification().getTablet_success_redirect_url();
    logger.error("Failed to verify email. Cause: {}", ex);
}
try {
    if (device.isNormal()) {
        redirectUri = cfg.getEmail().getVerification().getWeb_success_redirect_url();
    }
} catch (Exception ex) {
    redirectUri = cfg.getEmail().getVerification().getWeb_failure_redirect_url();
    logger.error("Failed to verify email. Cause: {}", ex);
}

response.sendRedirect(redirectUri);
java java-8 functional-programming switch-statement
1个回答
0
投票

我不确定device类型的类是否在您的控制中。

但是如果是这样,您可能应该具有表示设备类型的字段,它可以是具有3个值MOBILE, TABLET, NORMAL的Enum。

现在您可以在此Enum上有一个开关盒,每个盒都包含该特定用例的代码。

此切换案例的方法应接受2个参数,新创建的DeviceType枚举和cfg.getEmail().getVerification()返回的对象。

粗略的轮廓,但希望您能理解。

String getRedirectUri(DeviceType deviceType, Verification verification) { switch(deviceType) { case TABLET: case MOBILE: case NORMAL: default } }

© www.soinside.com 2019 - 2024. All rights reserved.