不规范的枚举类代码引发的一场事故
摘要
通过日志分析发现,问题出在PayConvertor类的toDO方法中。具体是在payRequestDO.setStatus(payRequest.getStatus().getCode())这行代码,枚举类Status的getCode方法返回了空值。这可能是因为Status枚举类的代码实现存在问题。此外,作者提到了一个关于枚举类属性的问题,即为什么枚举类的属性要提供setter方法。通常来说,枚举类的属性应该设置为final关键字修饰,不能提供setter。作者通过换位操作来说明,如果将FAILED和SUCCESS的code互换,那么代码将无法正常运行。因此,枚举类属性应该在初始化后不可修改,以确保代码的正确性。
欢迎在评论区写下你对这篇文章的看法。