记录一次枚举引起的生产问题。
客户来反映问题说首页上一个卡片查询不了数据(当时使用Metro布局所以一个卡片展示的是一个维度的数据),排查结果发现这又是之前同事给挖下来的一个坑。
首先,代码中的枚举是这样的:
这里清晰地写上每个枚举值对应的编码(没用的直接注释掉),但实际上调用LOGIN
时获取的结果还是7。毫无头绪的情况下走查了一下处理逻辑,如下图:
从上图中不难看出问题所在,调用时居然是通过ordinal
来获取的。
本来枚举中提供了toString()
方法去获取值了,但不知出于什么原因使用了ordinal
致使表中categoryId
字段都变成了序号,真正的值反而没有获取到。