快捷导航

如何把我的switch优雅的写(我在这switch中有150多个case)

case "A.2.2":                        // 车站出站量 统计期间各日累计 线路各车站分别列示                        result.setDataList(indexData.getStationInformationList());                        break;                case "A.2.3":                        // 线路日均进站量 线路进站量/统计天数 计算                        BigDecimal arrivalVolOfLine = new BigDecimal(Constants.ZERO);                        // 线路进站量                        if (indexData.getPassengerFlowMaintenance() != null) {                                arrivalVolOfLine = indexData.getPassengerFlowMaintenance().getAcInboundVolume();                        }                        // 线路日均进站量                        BigDecimal dailyAvg = new BigDecimal(Constants.ZERO);                        if (statisticalDays.compareTo(Constants.ZEROBD) != Constants.ZERO) {                                dailyAvg = arrivalVolOfLine.divide(statisticalDays, Constants.TWO, BigDecimal.ROUND_HALF_UP);                        }                        result.setData(dailyAvg.toString());                        break;                case "A.2.40":                        // 换乘站换乘量 统计期间各日累计 线路各车站分别列示                        result.setDataList(indexData.getStationInformationList());                        break;

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

各种方法上定义一个高级接口, 每一个实现都做成一个实现, 这样, 模仿HttpServletDespatcher, 把case当做key, 只是需要用更多的类拆分当前这个超级方法, 当然, 扩展和修改会非常的简单.
回复

使用道具 举报

用state模式代替switch-case
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP