当前位置:网站首页>(3/8)枚举的不当用法 之 方法参数(二)
(3/8)枚举的不当用法 之 方法参数(二)
2022-07-07 06:34:00 【51CTO】
继续讲枚举的使用。本文举例说明方法的参数不用枚举所带来的蹩脚之处。
【先上代码】
先看如下方法:
程序里对这个方法的调用:
如下是RefundStsEnum枚举类:
【重构方式】
上面方法中的String变量rfdSts,在程序里有定义对应的枚举类型RefundStsEnum。
本例是典型的枚举使用不当。症结在于将方法参数rfdSts定义成了String,这导致了两点不爽:
- 该方法内部,如第一行,打日志时,先调用枚举RefundStsEnum的getBySts(),将rfdSts所存的RefundStsEnum的sts转换成枚举RefundStsEnum,然后,获取它的desc。
- 调用该方法传的参数是RefundStsEnum.getSts()
正确的实现方式是:将方法参数rfdSts定义为枚举类型RefundStsEnum,自然,就不存在以上的不爽了。这样会很清晰!
边栏推荐
- Ppt template and material download website (pure dry goods, recommended Collection)
- Output a spiral matrix C language
- JVM garbage collection detailed learning notes (II)
- [istio introduction, architecture, components]
- STM32 clock system
- STM32 serial port register library function configuration method
- H3C VXLAN配置
- Simulation volume leetcode [general] 1567 Length of the longest subarray whose product is a positive number
- DRF defines views and routes
- Calculation s=1+12+123+1234+12345 C language
猜你喜欢
JVM 内存结构 详细学习笔记(一)
Troublesome problem of image resizing when using typora to edit markdown to upload CSDN
Calf problem
[istio introduction, architecture, components]
串口實驗——簡單數據收發
C language pointer (exercises)
Three updates to build applications for different types of devices | 2022 i/o key review
2022-07-06 unity core 9 - 3D animation
Reflections on the way of enterprise IT architecture transformation (Alibaba's China Taiwan strategic thought and architecture practice)
Upgrade Alibaba cloud RDS (relational database service) instance to com mysql. jdbc. exceptions. Troubleshooting of jdbc4.communicationsexception
随机推荐
Calculation s=1+12+123+1234+12345 C language
C语言指针(中篇)
Vagrant failed to mount directory mount: unknown filesystem type 'vboxsf'
Pytest installation (command line installation)
C language pointer (special article)
Count the number of words C language
Digital triangle model acwing 275 Pass a note
5A summary: seven stages of PMP learning
PMP certificate preparation experience sharing
Troublesome problem of image resizing when using typora to edit markdown to upload CSDN
[chaosblade: node disk filling, killing the specified process on the node, suspending the specified process on the node]
How does the project manager write the weekly summary and weekly plan?
串口實驗——簡單數據收發
2022-06-30 unity core 8 - model import
Record of structured interview
Run can start normally, and debug doesn't start or report an error, which seems to be stuck
Cesium does not support 4490 problem solution and cesium modified source code packaging scheme
Expérience de port série - simple réception et réception de données
Mysql数据库-锁-学习笔记
STM32的时钟系统