if-else代码优化

来源:互联网 发布:汇金智融 知乎 编辑:程序博客网 时间:2024/05/13 04:53

if-else过多的分支可以使用Map代替

用一个Map可以做到,if-else的变化点使用Map的get方法来代替

private HashMap ExceptionMap = new HashMap<String, String>(){    {        put("AFE004","unknown");        put("AFE001","unknown");        put("AFE002","unknown");        put("E00006","unknown");        put("E00008","unknown");        put("YQ9999","unknown");        put("EBLN00","unknown");        put("GW3002","unknown");    }};

if-else语句可以简写为

if ("000000".equals(code)) {    String content = CommonUtil.getXmlContent(bytes);    XmlUtil xmlUtil = new XmlUtil(content);    resultDto.setSuccess(true);    resultDto.setCode(Constants.CODE_SUCCESS);    resultDto.setMessage("交易成功");    resultDto.setSuccessTime(DateUtil.getCurrent(DateUtil.fullPattern));    resultDto.setSuccessMoney(xmlUtil.getNodeValue("//Amount"));} else if ("unknown".equals(ExceptionMap.get(code))) {    resultDto.setCode(Constants.CODE_EXCEPTION);    resultDto.setMessage("交易结果未知");} else {    resultDto.setSuccess(false);

这边将交易结果未知的错误码设为key,返回值相同,从而可以将这一类结果归结到一个if语句中。

0 0
原创粉丝点击