//如何将下面的java查询放在switch的情况下?我正在使用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);

最佳答案

阅读@Naman发表的评论。我同意,这里有更多细节。

我不确定device类型的类是否在您的控制范围内。

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

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

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

粗略的轮廓,但我希望你明白这一点。

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

09-13 08:13