pc|别再if-else走天下了,整个注解多优雅( 四 )
public class OrderHandlerTypeImpl implements OrderHandlerType { private String source private String payMethod OrderHandlerTypeImpl(String source, String payMethod) { this.source = source this.payMethod = payMethod } @Override public String source() { return source } @Override public String payMethod() { return payMethod } @Override public Class annotationType() { return OrderHandlerType.class } }
在获取对应OrderHandler时我们可以这样写 ,
public void orderService(Order order) { // ...一些前置处理 // 通过订单来源确以及支付方式获取对应的handler OrderHandlerType orderHandlerType = new OrderHandlerTypeImpl(order.getSource(), order.getPayMethod()) OrderHandler orderHandler = orderHandleMap.get(orderHandlerType) orderHandler.handle(order) // ...一些后置处理}
看起来没什么问题了 , 来运行一下 。 不对劲啊 , 空指针 , 那个异常它来了 。
我们断点打在NPE那一行 ,
本文插图
【来源:Java架构师之路】
声明:转载此文是出于传递更多信息之目的 。 若有来源标注错误或侵犯了您的合法权益 , 请作者持权属证明与本网联系 , 我们将及时更正、删除 , 谢谢 。邮箱地址:newmedia@xxcb.cn
- 北青网综合|女性冬季取暖7大误区,别再踩坑了!
- 知识百科|假如你手里有50万, 别再存“大额存款”, 一字之差少拿万元利息
- 民生经济|别再用个人账户收款了!已有企业被罚款
- 枝头的喜鹊|别再冷笑津巴布韦的百万亿元货泉了, 当年的我们也差不多
- 金戈财经|有20万存款,别再继续存定期,银行经理说漏嘴:这样存利息近万元
- 大金同财经|有5万元别再存定期啦!银行行长透露:这样存一年利息近3000元
- 尊牛经|有20万存款,别再存定期了,银行经理:这样存利息近万元!
- 金讯经|有20万存款,别再存定期了!银行经理透露:这样存利息近万元!
- 中年|别再吃面粉了蒸馒头,教你怎么做薄煎饼,软鲜香和减肥,很好吃
- 北青网综合|糖尿病的4大饮食谣言,别再信了!