▄︻┻┳═一agenda:
▄︻┻┳═一
▄︻┻┳═一
▄︻┻┳═一
继续讲枚举的使用。前文说的是方法参数和pojo属性定义成枚举类型的好处。本文讲在方法里使用枚举的妙处。
private boolean riskcheck(refundreqbo refundreq, refundrspbo refundrsp, rpmorddo rpmord, rpmrtuldo rpmrtul, ygbizmessagecontext ctx) throws ygexception { logger logger = yglogger.getlogger(); ... ... string bustyp = rrcbustypenum.user_consume_refund_refund.getvalue(); if(acpayflgenum.no_account_payment.getvalue().equals(rpmord.getacpayflg())){ bustyp = rrcbustypenum.gway_consume_refund.getvalue(); } realtimeriskcheckreqbo riskreq = new realtimeriskcheckreqbo(); riskreq.settxcd(refundreq.getgda().gettxcd()); ... ... /** 此处省略15行代码 **/ ... ... riskreq.setbustyp(bustyp); ... ... }
代码截图如下,我的14寸的笔记本电脑,一屏显示不全这个变量的定义和使用。
在上面的方法体里,把bustyp定义为了string,由于代码行多,在下文看到这个变量后,因为是字符串,所以难免不知道它是会存哪些值。这时呢,我们只好再翻上面的代码查看它的定义和赋了哪些值。
而如果把bustyp定义为rrcbustypenum,那么下文在用到的时候,就能直观的知道它的取值范围,从而提高了可读性。
重构后的代码为:
private boolean riskcheck(refundreqbo refundreq, refundrspbo refundrsp, rpmorddo rpmord, rpmrtuldo rpmrtul, ygbizmessagecontext ctx) throws ygexception { logger logger = yglogger.getlogger(); ... ... rrcbustypenum bustyp = rrcbustypenum.user_consume_refund_refund; if(acpayflgenum.no_account_payment.getvalue().equals(rpmord.getacpayflg())){ bustyp = rrcbustypenum.gway_consume_refund; } realtimeriskcheckreqbo riskreq = new realtimeriskcheckreqbo(); riskreq.settxcd(refundreq.getgda().gettxcd()); ... ... /** 此处省略15行代码 **/ ... ... riskreq.setbustyp(bustyp.getvalue()); ... ... }
如对本文有疑问, 点击进行留言回复!!
荐 深入理解Java中的BigInteger和 BigDecimal,再也不怕面试了
tomact正常启动,但是在日志文件报错java.lang.NoClassDefFoundError: java/util/logging/Logger
servlet整合quartz:servlet中使用quartz,服务器启动时加载任务
荐 Java——集合中的Map接口通过HashMap类实现一些常用的方法
SpringBoot整合mybatis访问时报错Invalid bound statement (not found)
网友评论