昨天在做公司项目时,我在一处地方加了一个逻辑校验,之后测了下发现在方法调用深处有一处NPE,来源于另一个同事的代码. 其实NPE本应该是个Java编程中老掉牙的问题,但我觉得这一处错误还是比较典型的,值得一提. 这里的CycleTypeEnum是一个枚举类型,code是枚举中的一个int类型.而条件表达式右边的cycleType是Product类的一个Integer类型. 业务上保证不了cycleType一定不为null,当一个Integer与一个int比较的时候,前者会拆箱为int,这一个过程…